LightDM for Display Management
Last cycle I proposed using LightDM to replace GDM [1]. It was deferred
due to the Unity work, so time to repropose!
The main reasons for switching are:
- Simpler code to maintain (GDM is a huge ~50,000 line C program and we
carry 36 patches. LightDM is nearer 10,000 lines of C).
- More flexible greeter development - greeters are as easy as X
applications to write, which means we can have an Ubuntu specific
greeter that without branching the rest of the code
- Speed improvements - we can run a greeter without running a full GNOME
session
- Display manager can be shared with Kubuntu, Xubuntu, Lubuntu etc but
still allow each distro to have their own greeter.
The current state of LightDM is "80% done" I would say. The core
architecture is all there, and it just needs a few weeks of solid work
to make it shine.
[1]
https:/
Blueprint information
- Status:
- Complete
- Approver:
- Martin Pitt
- Priority:
- Medium
- Drafter:
- Robert Ancell
- Direction:
- Approved
- Assignee:
- Robert Ancell
- Definition:
- Approved
- Series goal:
- Accepted for oneiric
- Implementation:
-
Implemented
- Milestone target:
-
oneiric-alpha-2
- Started by
- Martin Pitt
- Completed by
- Robert Ancell
Whiteboard
Work items (oneiric-alpha-1):
[robert-ancell] MIR for LightDM: DONE
[robert-ancell] Write Ubuntu wiki page about how to test/debug/fix LightDM: DONE
Work items (oneiric-alpha-2):
[robert-ancell] Switch Oneiric to using LightDM by default: DONE
[mika] Design Unity greeter: DONE
Work items (oneiric-alpha-3):
[robert-ancell] Implement Unity greeter: DONE
[robert-ancell] Implement unit testing for LightDM: DONE
Work items (ubuntu-
[robert-ancell] Implement capability detection: POSTPONED
[didrocks] Use new capability detection for Unity using LightDM: POSTPONED
Work items (ubuntu-11.10):
Check two-factor works well: POSTPONED
[jdstrand] Perform security review: POSTPONED
[themuso] Perform accessibility review: POSTPONED
2011-05-20, amano:
They have a humongous mockup in elementary project. With the black bar on the top it feels much more consistent with Unity/Ambience than the current GDM theme: http://
UDS Discussion:
Statement: We want a new login experience for Ubuntu
- matching theme
- better keyboard navigation
Option 1: Modify GDM
Option 2: Use LightDM
LightDM Requirements:
GUI
User list
Face images
Multi-monitor
Network status
Clock
Sound
ability to change system volume levels prior to login
Shutdown/
User switcher integration
Graceful failure
Touch support
Greeter/session transitions
Fast startup
Session selector
Capability dependant session
Authentication
PAM
Username/
Fingerprint
Keycard / Smartcard
Facial recognition
Two-factor
Power Management
Shutdown/
Sleep/Hibernate
Internationaliz
Keyboard layout/input method
Translatable strings
Accessibility
Font size
Theme (high contrast)
Sound events
Speech
Onscreen keyboard
Everything keyboard accessible
Screen reader (orca)
Configuration
Multi seat
User list
Sound
Autologin
System administration
Logging
Auditing
Extensibility
Plugin system
Multiple language support
Shell scripts?
Remote login
XDMCP
RDP?
Other?
Future
Wayland
Lubuntu is interested to switch to LightDM, to share work on the maintenance. LXDM (current display manager for Lubuntu) is working. So to replace it, we need at least LightDM to have features already supported by LXDM :
* Support for multiple configuration files (LXDM uses update-alternative)
* Building with GTK3
* GtkBuilder greeter
* ConsoleKit support
* Support for encrypted home
* Support autologin
* Support plymouth
* User and keyboard switching at login
* No GNOME components started by default
* Read / write ~/.dmrc
* Reading all PATH (usr/games, usr/local ...)
* Support Xauthority (with possible option to put it in /home or in /var)
* Support in Ubiquity / user-setup (Autologin support at install time) See bug #546445
* Handle password with space
* Read ~/.xprofile
* Work with libpam-ck-connector installed
* Fast and low memory usage
Plan of action:
- use lightdm in oneiric
- change the default early in the cycle so it gets testing
Work Items
Dependency tree

* Blueprints in grey have been implemented.