Session Management & Multiseat

Registered by James Hunt

= Summary =

The Desktop Team have a requirement for Multiseat support. Currently, ConsoleKit is used to handle sessions but has issues:

- it's apparently unmaintained
- requires $XDG_SESSION_COOKIE.

Fedora now uses a facility called 'logind' which replaces ConsoleKit and uses cgroups and PAM to provide X session and terminal session and seat management.

This session is to:

(1) Discuss the plan regarding either making use of logind, updating ConsoleKit or writing our own tool.
(2) Identify a list of requirements on a ConsoleKit successor.

= References =

- http://www.x.org/wiki/Development/Documentation/Multiseat
- http://www.freedesktop.org/wiki/Software/ConsoleKit

Blueprint information

Status:
Complete
Approver:
Steve Langasek
Priority:
High
Drafter:
James Hunt
Direction:
Approved
Assignee:
James Hunt
Definition:
Approved
Series goal:
Accepted for raring
Implementation:
Implemented
Milestone target:
milestone icon ubuntu-13.04-beta-1
Started by
Steve Langasek
Completed by
Steve Langasek

Related branches

Sprints

Whiteboard

- http://userful.com devices
- need to identify the console-kit consumers to establish what needs changing to work with logind
- should Foundations Team own this part of the stack?
- What is Debian doing?
- options:
  - fix console-kit
  - roll our own
  - use logind from systemd tree
- displaylink device support?

 = Concerns =

 - lack of 3d support
 - usb2/3 limitations
   - is it really cost effective to prefer multiseat over ltsp with low-cost arm devices?
   - cable limits (usb2 ~= 5m, usb3 ~= 3m, ethernet = ?)
- logind uses vt-switching and we do not wish to use vt-switching going forward
- try to conform to existing cgroup naming conventions (need link)
- systemd-logind requires using systemd

= Actions =

ordered:
1) identify where requirement for MultiSeat is coming from
2) Foundations Team to try to get logind to replace console-kit
3) [robert-ancell] make lightdm work with logind (no committment to deliver by 12.10 unless business case occurs)
  - modify Upstart job to start 1 lightdm instance / seat
  - implement design as done in systemd with udev tagging, cgroup etc
- map out all use-cases we wish to support (multi-monitor, etc?)
  (behaviour needs to be documented)
- [stgraber]: will logind work with lxc?
- [gekker] to follow-up on potential business opportunities (and associated use-cases if possible:
  number of seats, monitor layouts, extra usb devices (printers, webcams, etc))

(?)

Work Items

Work items:
[robert-ancell] make lightdm work with logind (no committment to deliver by 13.04 unless business case occurs): TODO
[gekker] Identify expected business use-cases: TODO
[stgraber] Test logind in lxc (once we have logind). No problem as long as we don't use the cgroup magic: DONE
[vorlon] package systemd-logind in Ubuntu: DONE

Dependency tree

* Blueprints in grey have been implemented.