What Is a Display Manager in Linux?

A display manager, also known as a login manager, is a graphical user interface presented at the end of the Linux boot process that handles user authentication and starts desktop sessions. This article covers the core purpose of a display manager, how it interacts with the underlying display server and desktop environments, popular implementations in modern distributions, and how it differs from other graphical components in Linux.

The Core Function of a Display Manager

In the Linux operating system, the display manager acts as the graphical gateway to your system. Instead of dropping the user into a text-based terminal prompt (TTY) after booting, the system launches a display manager to provide a visual login screen.

Its primary responsibilities include:

How a Display Manager Works

When a Linux system boots, the init system (typically systemd) loads core services, hardware drivers, and the networking stack. Once reaching the graphical target (graphical.target), the init system launches the display manager daemon.

The display manager is split into two primary components: the backend daemon and the frontend "greeter." The daemon runs with administrative privileges to manage sessions and display servers, while the greeter is the visible GUI containing the login form, session picker, and accessibility options. Once valid credentials are submitted, the greeter closes, the user session loads, and the display manager remains running quietly in the background to handle session locking or switching between multiple logged-in users.

Common Display Managers in Linux

Different Linux distributions and desktop environments use specific display managers tailored to their technology stacks:

Display Manager vs. Desktop Environment vs. Window Manager

It is common to confuse the various layers of the Linux graphical stack:

Managing Display Managers

Display managers run as system services and can be configured or swapped using standard service management commands. On systemd-based distributions, you can check the status of your current display manager with:

systemctl status display-manager

To switch between installed display managers, administrators can disable the active manager and enable a new one:

sudo systemctl disable gdm
sudo systemctl enable sddm

A display manager is not strictly mandatory to use Linux. Advanced users and server administrators often disable the display manager entirely, booting directly to a terminal prompt and launching their graphical environment manually using commands such as startx or dedicated Wayland compositors.