LightDM

From Gentoo Wiki
Jump to:navigation Jump to:search
This page contains changes which are not marked for translation.

LightDM is a cross-desktop display manager whose aim is to be the standard display manager for the X server.

The key features (as listed by upstream) include:

  • A well-defined greeter API allowing multiple GUIs.
  • Support for all display manager use cases, with plugins where appropriate.
  • Low code complexity.
  • Fast performance.

Installation

USE flags

USE flags for x11-misc/lightdm A lightweight display manager

+gnome Add GNOME support
+gtk Pull in the gtk+ greeter
+introspection Add support for GObject based introspection
audit Enable support for Linux audit subsystem using sys-process/audit
elogind Enable session tracking via sys-auth/elogind
non-root Use non-root user by default
qt5 Add support for the Qt 5 application and UI framework
systemd Enable use of systemd-specific libraries and features like socket activation or session tracking
vala Enable bindings for dev-lang/vala

Emerge

Install x11-misc/lightdm:

root #emerge --ask x11-misc/lightdm

Configuration

The (global) configuration file for LightDM can be found at /etc/lightdm/lightdm.conf

GTK

The GTK greeter configuration can be modified by manually editing the following file:

/etc/lightdm/lightdm-gtk-greeter.conf

RazorQt

The RazorQt greeter currently does not offer any configuration options.

Boot service

OpenRC

With display-manager
root #emerge --ask gui-libs/display-manager-init

Set LightDM as the default display manager:

FILE /etc/conf.d/display-manager
DISPLAYMANAGER="lightdm"

To start LightDM on boot, add dbus and display-manager to the default runlevel. dbus is necessary because LightDM depends on it to pass messages:

root #rc-update add dbus default
root #rc-update add display-manager default

To start LightDM now:

root #rc-service dbus start
root #rc-service display-manager start
With the deprecated xdm init script

Set LightDM as the default display manager:

FILE /etc/conf.d/xdm
DISPLAYMANAGER="lightdm"

To start LightDM on boot, add dbus and xdm to the default runlevel. dbus is necessary because LightDM depends on it to pass messages:

root #rc-update add dbus default
root #rc-update add xdm default

To start LightDM now:

root #/etc/init.d/dbus start
root #/etc/init.d/xdm start

systemd

To start LightDM on boot:

root #systemctl enable lightdm

To start LightDM now:

root #systemctl start lightdm

Command-line tool

LightDM includes a command-line tool, dm-tool, which can be used to switch user sessions, lock the current seat, etc. To see a list of available commands, use the --help option:

user $dm-tool --help

For example, to lock the current seat:

user $dm-tool lock

Tips

Running commands at log-in

A user can run some programs automatically when logging in using LightDM by adding commands in ~/.xprofile, which will be sourced by LightDM. For example:

FILE ~/.xprofile
# Starting redshift, setting the dpi with xrandr and set the brightness to 50% with xbacklight
xrandr --dpi 192 &
redshift-gtk &
xbacklight -set 50 &

Unlock GNOME Keyring

To unlock your GNOME Keyring (gnome-base/gnome-keyring) automatically on login, edit /etc/pam.d/lightdm to look as follows. Note: Lines ending with the comment #keyring should be added.

FILE /etc/pam.d/lightdm
auth     substack        system-local-login
auth     optional        pam_gnome_keyring.so #keyring
account  substack        system-local-login
password substack        system-local-login
session  substack        system-local-login
session  optional        pam_gnome_keyring.so auto_start #keyring

Locking the screen with elogind after suspend or sleep

For security, it is good practice to lock the screen after elogind triggers suspend or sleep. This can be done easily by doing the following:

Install light-locker:

root #emerge --ask x11-misc/light-locker

Start light-locker after the X server has started by putting light-locker & into either an ~/.xprofile or ~/.xinitrc file.

FILE ~/.xprofile
# Starting light-lock with X session
light-locker &

Create a lock.sh file under /lib64/elogind/system-sleep/ (be sure to add execute permissions to the file):

root #chmod +x /lib64/elogind/system-sleep/lock.sh

Troubleshooting

LightDM crashes upon first login if hostname changes during login

In some cases LightDM may crash when trying to log in for the first time if the hostname changes in the time between the boot and login (launchpad bug #1677058).

This may be encountered if net-misc/networkmanager is using the default settings to obtain the hostname from DHCP server and the hostname differs from the default one set on boot.

To disable NetworkManager hostname setting behavior, set the following line in [main] section of /etc/NetworkManager/NetworkManager.conf:

FILE /etc/NetworkManager/NetworkManager.conf
[main]
...
hostname-mode=none
...

LightDM fails to launch with Nvidia GPU

Users with Nvidia GPUs may encounter failures when using LightDM (GitHub issue #263).

A workaround for this issue involves editing /etc/lightdm/lightdm.conf and adding the line logind-check-graphical=false within the [LightDM] section.

FILE /etc/lightdm/lightdm.conf
[LightDM]
...
logind-check-graphical=false
...

See also