From Fedora Project Wiki
Line 18: Line 18:


== Detailed Description ==
== Detailed Description ==
* Simplify our stack by removing CK
* Automatic multi-seat support
* Automatic multi-seat support
* Make systemd available in the session
* Make systemd available in the session
* Removal of XDG_SESSION_COOKIE and its security problems, emphasis on audit loginuid and cgroup names instead
* Removal of XDG_SESSION_COOKIE and its security problems, emphasis on audit loginuid and cgroup names instead
* On-Demand starting of VT gettys
* On-Demand starting of VT gettys
* Fix the 63 threads CK VT watching issue
* Covering all of getty, SSH and X11 sessions
* Covering all of getty, SSH and X11 sessions
* Make session exit of pam_systemd more robust
* Make session exit of pam_systemd more robust
* Introduce D-Bus user bus
* 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
* 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 ==
== Benefit to Fedora ==

Revision as of 10:32, 27 July 2011

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

Here is the list of packages that currently require ConsoleKit:

  • libfprint
  • polkit
  • accountsservice (DONE)
  • 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.

Comments and Discussion