From Fedora Project Wiki

ConsoleKit Removal/Automatic Multi-Seat Support

Summary

A grab-bag of little cleanups and improvements all related to session and seat handling.

Owner

Current status

  • Targeted release: Fedora 16
  • Last updated: 2011-07-27
  • Percentage of completion: 75%

Logic is now in rawhide (in systemd 30), patches for some subsystems (X11, accountsservice) ready. These patches have been put into F16 packages. The necessary gdm patch is still in testing.

Detailed Description

  • 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
  • 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

When we reach the point where ConsoleKit is actually dropped, additionally

  • Simplify our stack by removing CK
  • Fix the 63 threads CK VT watching issue

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

To get working automatic multiseat support, we need to patch X, accountsservice and gdm.

To complete the removal of ConsoleKit, a larger set of packages need to be touched.

Packages that currently require ConsoleKit:

  • libfprint
  • polkit
  • accountsservice (DONE)
  • gdm

Packages that are using the ConsoleKit api at runtime:

  • 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
  • To test ConsoleKit removal, inspect that manifest of the desktop spin and

verify that it does not include ConsoleKit.

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.

Comments and Discussion