ConsoleKit Removal/Automatic Multi-Seat Support
Summary
A grab-bag of little cleanups and improvements all related to session and seat handling.
Owner
- Name: Lennart Poettering
- Email: lennart AT poettering DOT net
Current status
- Targeted release: Fedora 16
- Last updated: 2011-07-18
- Percentage of completion: 50%
Logic is now in Fedora, patches for some subsystems (X11, accountsservice) ready.
Detailed Description
- Simplify our stack by removing CK
- Automatic multi-seat support
- Make systemd available in the session
- Removal of XDG_SESSION_COOKIE and its security problems, emphasis on audit loginuid and cgroup names instead
- On-Demand starting of VT gettys
- Fix the 63 threads CK VT watching issue
- Covering all of getty, SSH and X11 sessions
- Make session exit of pam_systemd more robust
- Introduce D-Bus user bus
- allow systemd user services to be run outside of a session, for selected users, a la cron with cron.allow
Benefit to Fedora
Things become safer, cleaner and smaller. We add automatic multi-seat support. We can optionally start user services outside of a login (i.e. a user Rygel on boot without having the user to log in).
Scope
Precise scope outlined in:
https://docs.google.com/document/pub?id=1_ev4f0gwBuvs6SH_N8fN5LO4LV3sbwtJsLq52F_wwpU
Here is the list of packages that currently require ConsoleKit:
- libfprint
- polkit
- accountsservice
- gdm
There is a larger set of modules that are using the ConsoleKit api at runtime, including:
- gnome-session
- gnome-power-manager
- gnome-packagekit
- gnome-settings-daemon
- control-center
- gnome-screensaver
- nautilus
- udisks
How To Test
- Test Multi-Seat support (ideally with hardware from plugable): plug in plugable hw and you should instantly get a new gdm display on the seat
- You should have 6 gettys on tty1-6
User Experience
Plugging in certain multi-seat hw should just work: i.e. make a gdm appear on it.
Dependencies
We need smaller changes in: X11, gdm, CK, udev, dbus, plymouth, PK, NM, accountsservice
For details see https://docs.google.com/document/pub?id=1_ev4f0gwBuvs6SH_N8fN5LO4LV3sbwtJsLq52F_wwpU
Contingency Plan
CK will continue to be available simutaneously as the new logic. To revert back we can just disable our systemd specific login manager again and things should work as previously.
Documentation
For details see https://docs.google.com/document/pub?id=1_ev4f0gwBuvs6SH_N8fN5LO4LV3sbwtJsLq52F_wwpU
Release Notes
- ConsoleKit is gone, a couple of new APIs are introduced instead.