The coordinator for this sub-project is Philip Blundell (philb@gnu.org) . If you want to contribute to this project, please contact him directly.
The login program serves two purposes. First, it provides password
protection for your personal data; second, it allows multiple users to
share a single device. In fact, two packages are involved:
gpe-login proper, which deals with user interaction, and
gpe-dm, which takes care of starting the X server and
cleaning up between sessions. There is an optional third package,
gpe-session-scripts, which contains some auxiliary files
from /etc/X11.
This is the sequence of events that takes place:
gpe-dm starts the X server on display :0 or whatever
was specified on its command line.gpe-dm runs /etc/X11/Xinit as root, and
waits for it to finish. The default script will execute everything
from /etc/X11/Xinit.d in order.gpe-login is launched as the final entry in Xinit.d.gpe-login runs /etc/X11/gpe-login.setup
as root, and waits for it to finish.gpe-login reads /etc/X11/gpe-login.geometry
and sets its geometry accordingly.gpe-login displays the UI and invites the user to log in.gpe-login.setup are terminated.
(Processes started by /etc/X11/Xinit are not killed, and
will persist into the user's session.)/etc/X11/gpe-login.pre-session is run as root, with
the user's login name passed as its first argument.gpe-login switches to the user's environment and then
attempts to launch a session. It tries to exec
~/.xsession, /etc/X11/Xsession and
/usr/bin/x-terminal-emulator in that order.gpe-dm resets the X server and
loops back to step 2.Two modes are provided:
The source code can be found in SVN, module gpe-login. Precompiled binaries for ARM PDAs are available in the Familiar unstable feed. (Packages gpe-login and gpe-dm)