Display Manager (DM) is a program that provides graphical login capabilities for Linux distributions. It controls user sessions and manages user authentication. Display Manager will start the display server and load the desktop environment as soon as you enter your username and password.

The display manager is usually synonymous with the login screen. It is, after all, the visible part. However, the visible login screen, also called the welcome page (greeter), is only part of the display manager.

The different display managers

There are various desktop environments in Linux, and the display manager is not part of the desktop environment, it is a separate program. The desktop environment may recommend a particular display manager, but that doesn’t mean it can’t work with some other display managers.

The display manager is built on the X Window System, which is invoked to log in with the GUI and display the GUI screen after logging in, and to switch users with the GUI. tty7 under GNU/Linux enables the display manager by default, while tty1 to 6 are text column interfaces. In the X Window System, the X Display Manager, which runs as a program, allows you to start a session on the local X server or on a remote X server. The display manager presents the user with a login screen and prompts for a user and password. When the user successfully enters the correct user and password, the Display Manager starts a session. When the Display Manager is running on the user’s computer, it opens the X server before displaying the login screen and can be run repeatedly at will after the user logs out. In this case, the Display Manager implements init, getty, and login under a character type terminal in the X Window System. When the Display Manager is running on a remote computer, it acts like a telnet server, requiring a username and password to start a remote session.

If you have ever installed more than one desktop environment on the same system, you will recall that the login screen (i.e., the Display Manager) allows you to switch desktop environments.

Display Manager

Although the Display Manager is not part of the desktop environment itself, it is often developed by the same development team as the desktop environment. It has also become a representative of the desktop environment.

List of display managers

Console

  • CDM: Console Display Manager
  • Console TDM: extended from xinit, written from pure Bash scripts
  • nodm - simple display manager with auto-login support.
  • Ly - ncurses display manager for the experimental phase.

Desktop Environment

  • GDM: GNOME display manager.
  • LightDM: Cross-desktop display manager that can use any tool written by various front-ends.
  • LXDM: LXDE display manager (independent of the desktop environment) (lxdm)
  • MDM - Display manager for use in Linux Mint, a branch project of GDM2.
  • XDM - X Display Manager supports XDMCP (suitable for server hosts).

Desktop Environment

  • GDM: GNOME display manager.
  • LightDM: Cross-desktop display manager that can use any tool written by various front-ends.
  • LXDM: LXDE display manager (independent of the desktop environment) (lxdm)
  • MDM - Display manager for use in Linux Mint, a branch project of GDM2.
  • SDDM - QML-based display manager, replaces KDM for KDE4, recommended for use with Plamsa5 or LXQt.
  • XDM - X Display Manager supports XDMCP (suitable for server hosts).

Display Manager Configuration

The graphical interface login can be performed by starting the Login Manager (or Display Manager). Currently, Arch provides systemd service files for GDM, SLiM, XDM, LXDM, LightDM, and sddm. Take SDDM as an example and configure the boot-up.

1
# systemctl enable sddm.service

After executing the above command, the login manager should now work properly. If not, it is possible that default.target is not pointing to graphical.target.

When SDDM is enabled, /etc/systemd/system/ should create a soft link to display-manager.service, which can be overridden with -force.