Coordinator

The coordinator for this sub-project is Philip Blundell (philb@gnu.org) . If you want to contribute to this project, please contact him directly.

Function

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.

Details of operation

This is the sequence of events that takes place:

  1. gpe-dm starts the X server on display :0 or whatever was specified on its command line.
  2. 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.
  3. gpe-login is launched as the final entry in Xinit.d.
  4. gpe-login runs /etc/X11/gpe-login.setup as root, and waits for it to finish.
  5. gpe-login reads /etc/X11/gpe-login.geometry and sets its geometry accordingly.
  6. gpe-login displays the UI and invites the user to log in.
  7. Any processes started by gpe-login.setup are terminated. (Processes started by /etc/X11/Xinit are not killed, and will persist into the user's session.)
  8. /etc/X11/gpe-login.pre-session is run as root, with the user's login name passed as its first argument.
  9. 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.
  10. When the session ends, gpe-dm resets the X server and loops back to step 2.

Password entry

Two modes are provided:

Status

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)

Screenshots