Display manager
Created by: ollieparanoid
Right now we configure the tty0 to automatically log in as user
on boot (by editing the inittab
in the postmarketos-ui-*
package's postinstall script). Then we start the X11 server (for Hildon) or Wayland compositor (kwin for plasma-mobile, Weston) in an /etc/profile.d/
script, that checks if the current tty is the one where the autologin happened.
While that works for installing one device, it is not possible to cleanly switch out user interfaces after the installation (because replacing the entry in the inittab
does probably not work when switching), and it is not possible to install multiple user interfaces in parallel and switch dynamically.
Our requirements for a display manager, as I see it:
- Needs to be able to execute X11 UIs (desktop environments) as well as Wayland compositors (!)
- It should set up the login session (consolekit?) and udev stuff (as @MartijnBraam suggested)
- It should be lightweight, so we don't blow up the image with something that could be done in a few MB (like the
osk-sdl
) - A config file, that selects the current UI would be nice as first step
- Super fancy version with UI (future!)
- if only one UI is installed, it should boot that
- user can select the UI with touch buttons
- display date, time and battery
- reboot and power-off buttons
In my opinion, we don't need to allow multiple users for now, or typing in a password (as we focus on security and have full disk encryption anyway, and getting multi-user secured is hard).
It might be possible to use an existing display manager for that. However, the big difference is, that for our use case we don't need focus on user selection, but on selecting the session. On the other hand, we have a nice stack with osk-sdl
already, with which touchscreens work across all these strange drivers, so it would be relatively easy to re-use that.