Skip to content

canonical/lightdm

LightDM Display Manager

Test status LightDM questions on AskUbuntu

LightDM is a lightweight, cross-desktop display manager. A display manager is a daemon that:

  • Runs display servers (e.g. X) where necessary.
  • Runs greeters to allow users to pick which user account and session type to use.
  • Allows greeters to perform authentication using PAM.
  • Runs session processes once authentication is complete.
  • Provides remote graphical login options.

Key features of LightDM are:

  • Cross-desktop - supports different desktop technologies (X, Wayland, Mir, etc)
  • Lightweight - low memory usage and fast performance
  • Supports remote login (incoming: XDMCP and VNC; outgoing: XDMCP and pluggable)
  • Supports guest sessions
  • Has a comprehensive test suite

The core LightDM project does not provide any greeter with it; you should install a greeter appropriate to your system. Popular greeter projects are:

Configuration

LightDM configuration is provided by the following files:

/usr/share/lightdm/lightdm.conf.d/*.conf
/etc/lightdm/lightdm.conf.d/*.conf
/etc/lightdm/lightdm.conf

System provided configuration should be stored in /usr/share/lightdm/lightdm.conf.d/. System administrators can override this configuration by adding files to /etc/lightdm/lightdm.conf.d/ and /etc/lightdm/lightdm.conf. Files are read in the above order and combined together to make the LightDM configuration.

For example, if a sysadmin wanted to override the system configured default session (provided in /usr/share/lightdm/lightdm.conf.d) they should make a file /etc/lightdm/lightdm.conf.d/50-myconfig.conf with the following:

[Seat:*]
user-session=mysession

Configuration is in keyfile format. For most installations you will want to change the keys in the [Seat:*] section as this applies to all seats on the system (normally just one). A configuration file showing all the possible keys is provided in data/lightdm.conf.

Display Setup Script

LightDM can be configured to run an external shell script to setup displays.

If an display setup script is used, it must be:

  • Located under /usr/share
  • Owned by the user lightdm and group lightdm
  • It cannot print or log to any destination not accessible to LightDM

To test a configuration:

  • Install xserver-xephyr: sudo apt install xserver-xephyr
  • Run the test as user lightdm: sudo -u lightdm lightdm --test-mode --debug

Put the shell script reference in the LightDM configuration:

[Seat:*]
display-setup-script=/usr/share/example_display_setup_script.sh 

Questions

Stack Overflow and Ask Ubuntu are good sites for frequently asked questions.