Difference between revisions of "Display manager"

From ArchWiki
Jump to: navigation, search
(Graphical: WDM is dead)
(Troubleshooting: replace with Known issues, because there is no proper solution yet)
Line 64: Line 64:
 
  $ loginctl show-session $XDG_SESSION_ID
 
  $ loginctl show-session $XDG_SESSION_ID
  
==Troubleshooting==
+
== Known issues ==
  
===Crash on 2nd logout===
+
=== Incompatibility with systemd ===
  
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:
+
''Affected DMs: MDM, SDDM, [[SLiM]]''
  
{{hc|/etc/pam.d/sddm|
+
Some display managers are not fully compatible with systemd, because they reuse the PAM session process. It causes various problems on second login, e.g.:
...
+
* NetworkManager applet does not work,
session required pam_systemd.so
+
* PulseAudio volume cannot be adjusted,
}}
+
* login failed into GNOME with another user.
 +
 
 +
See the following bugtacker reports for more details:
 +
* MDM: [https://github.com/linuxmint/mdm/issues/32]
 +
* SDDM: [https://github.com/sddm/sddm/pull/95] (fixed in git master)
 +
* SLiM: [https://bugs.archlinux.org/task/34329] [http://developer.berlios.de/bugs/?func=detailbug&bug_id=19102&group_id=2663]

Revision as of 14:08, 26 November 2013

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

Console

  • CDM (Console Display Manager) — ultra-minimalistic, yet full-featured login manager written in bash
https://github.com/ghost1227/cdm || cdm-gitAUR

Graphical

http://projects.gnome.org/gdm/ || gdm
http://www.kde.org/ || kdebase-workspace
  • LightDM — Cross-desktop display manager, can use various front-ends written in any toolkit.
http://www.freedesktop.org/wiki/Software/LightDM || lightdm
  • LXDMLXDE Display Manager. Can be used independent of the LXDE desktop environment.
http://sourceforge.net/projects/lxdm/ || lxdm
  • MDM — MDM Display Manager, fork of GDM 2
https://github.com/linuxmint/mdm || mdm-display-managerAUR
  • Qingy — ultralight and very configurable graphical login independent on X Windows (uses DirectFB)
http://qingy.sourceforge.net/ || qingy
  • SDDM — QML-based display manager
https://github.com/sddm/sddm || sddmAUR, sddm-qt5AUR
  • SLiM (Simple Login Manager) — lightweight and elegant graphical login solution
http://slim.berlios.de/ || slim
  • XDM — X Display Manager with support for XDMCP, host chooser.
http://www.x.org/archive/X11R7.5/doc/man/man1/xdm.1.html || xorg-xdm

Loading the display manager

To enable graphical login, run your preferred Display Manager daemon (e.g. KDM). At the moment, service files exist for GDM, KDM, SLiM, XDM, LXDM, LightDM, and SDDMAUR.

# 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

Using systemd-logind

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

Known issues

Incompatibility with systemd

Affected DMs: MDM, SDDM, SLiM

Some display managers are not fully compatible with systemd, because they reuse the PAM session process. It causes various problems on second login, e.g.:

  • NetworkManager applet does not work,
  • PulseAudio volume cannot be adjusted,
  • login failed into GNOME with another user.

See the following bugtacker reports for more details: