XlessLoginSpec

Please check the status of this specification in Launchpad before editing it. If it is Approved, contact the Assignee or another knowledgeable person before making changes.

  • Launchpad entry: none yet

  • Packages affected: gdm, kdm, (qingy?)

Summary

This spec promotes implementing a non-X-based solution for session management, including implications for virtual terminals and parallel sessions.

Rationale

Ubuntu need an intuitive solution for parallel sessions and multiple users. This solution should not be tied to any specific desktop, or even X.

The reasons for it are many

  • The desired implementation for X may vary between sessions
  • Some sessions will not require any graphical implementation at all (plain Consoles)
  • Startup-time will improve by a few seconds if the user is provided with a login-prompt before X is started. The system services then have plenty of time to keep start while user is choosing account, session, and is typing his/her password.
  • For non-X applications, some system resources can be saved. (MythTV, for instance)

Use cases

  1. Fredrick, the father of five have seen the cool multi-users features of Windows XP, but his family computer cannot cope with the hardware requirements of XP. With his Windows 2000 installation running out of support, he considers Xubuntu to be a perfect option.
  2. Gandalf the gamer loves his Enemy Territory, and wants to squeeze out those last 2 fps gained by not running and Gnome or even GDM.
  3. Patrick the power-user loves poking around with the latest Xgl/Beryl and XDirectFB, but wants to keep an Xorg/Gnome configuration for safety.
  4. Chris the couch potato loves to use his little Koala PC with MythTV on his 40" Plasma, but once in a while, he really wants a full-blown KDE desktop and loves to be able to just pick up his wireless keyboard and start a new session, quickly being able to switch back and forth to MythTV to check out that Soccer-game once in a while.

Scope

The proposed solution addresses making X optional, and session-switching intuitive to the average user.

Design

Any new session management system should be designed with as low coupling as possible. A dependancy on X-windows is highly undesirable, since it conflicts with at least use case 2 and 3.

The old Unix concept of virtual terminals works well in all these scenarios, but the implementation of the concept should be updated to todays requirements and use cases. While reworking the session-system, it's about time to clean up the mostly unused reserved terminals on tty1-6, and remove the habit of keeping one single X session on tty7.

A natural solution could be to devise a session manager based on plain FB. FB is required to be and available in a default installation enabled due to bootsplash, and can provide sufficient graphics mechanism for an appealing session-manager. The session-manager should remain constantly available on a virtual terminal, to launch new sessions, and perhaps even control the running ones.

Such session-manager fits well into the ongoing implementation of upstart, and integration both-ways is highly desirable.

Implementation

Aim for Edgy+1:

  1. Devise a potent session-manager independent of X. (Qingy might be worth a look)

  2. Keep this session-manager constantly available on tty1.
  3. On login, assign the new session to an available tty, and tell the user that his new session can always be found on <Ctrl+Alt+[tty]>

Code

Not available

Data preservation and migration

Not applicable

Unresolved issues

  • Accessibility implications - The Access GDM spec is intended to provide an accessible login solution using GDM. An alternative login system should also cater for screen readers and on-screen keyboards. Perhaps the gestures/hotkeys used to activate those features could launch a copy of GDM (or some X-based login system) with the appropriate assistive technology.

  • FB might not be fully supported for all possible graphics cards. Vesa-libs perhaps could be an option?

BoF agenda and discussion

One important piece of the pussle may be falling into place by itself: http://www.phoronix.com/scan.php?page=article&item=kernel_modesetting&num=3


CategorySpec CategorySpec CategorySpec

XlessLoginSpec (last edited 2008-08-06 16:23:47 by localhost)