## 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:

- In "classic" mode, gpe-login displays an embedded xkbd and prompts the user to type their password in an entry box.
- In "hard keys" mode, the password is entered using the iPAQ's front panel buttons. This requires that all passwords are a fixed length (typically 4 characters) and consist only of the digits 1-4 and the letters N, S, E, W.

## Status

The source code can be found in CVS, module gpe-login. Precompiled binaries for ARM PDAs are available in the Familiar unstable feed. (Packages gpe-login and gpe-dm)

## Screenshots