On 07/15/14 09:48, Philip Guenther wrote:
When the process that's executing your .xinitrc exits, startx/xinit
will shutdown the X server and then itself exit, taking you back to
the non-X shell prompt. Your .xinitrc should end with execution on
some program which will not exit until you want to exit X; many people
have it be their window manager.
This is described in the startx(1) manpage:
The .xinitrc is typically a shell script which starts many clients
according to the user's preference. When this shell script exits,
startx kills the server and performs any other session shutdown
needed.
Most of the clients started by .xinitrc should be run in the
background. The last client should run in the foreground; when it
exits, the session will exit. People often choose a session
manager,
window manager, or xterm as the ''magic'' client.
I know all of this. The problem is why does X lose .xinitrc when
.xinitrc (ksh) forks.
Since I don't understand what problem you are trying to solve by
double forking or using daemon(), I cannot comment on those.
To yield from a call and let the call run in the background.
Philip Guenther
--
This e-mail is confidential and may not be shared with anyone other than
recipient(s) without written permission from sender.