A display manager, or login manager, is typically a graphical user interface that is displayed at the end of the boot process in place of the default shell. There are various implementations of display managers, just as there are various types of window managers and desktop environments. There is usually a certain amount of customization and themeability available with each one.
List of display managers
- CDM (Console Display Manager) — ultra-minimalistic, yet full-featured login manager written in bash
- LightDM — Cross-desktop display manager, can use various front-ends written in any toolkit.
- Qingy — ultralight and very configurable graphical login independent on X Windows (uses DirectFB)
- SDDM — QML-based display manager
- https://github.com/sddm/sddm || AUR, AUR
- SLiM (Simple Login Manager) — lightweight and elegant graphical login solution
- wdm — WINGs Display Manager
- XDM — X Display Manager with support for XDMCP, host chooser.
Loading the display manager
# systemctl enable kdm
This should work out of the box. If not, you might have a default.target set manually or from an older install:
# ls -l /etc/systemd/system/default.target
/etc/systemd/system/default.target -> /usr/lib/systemd/system/graphical.target
Simply delete the symlink and systemd will use its stock default.target (i.e. graphical.target).
# rm /etc/systemd/system/default.target
After enabling kdm a symlink "display-manager.service" should be set in /etc/systemd/system/
# ls -l /etc/systemd/system/display-manager.service
/etc/systemd/system/display-manager.service -> /usr/lib/systemd/system/kdm.service
In order to check the status of your user session, you can use
loginctl. All polkit actions like suspending the system or mounting external drives will work out of the box.
$ loginctl show-session $XDG_SESSION_ID
Crash on 2nd logout
With the switch to systemd, many display managers crash on the 2nd logout. To solve this issue, just add a line to the end of the appropriate pam configuration file. The following example is for SDDM:
... session required pam_systemd.so