Ever wonder what greets you when you start your Linux desktop? That login screen you see is called Display Manager, or shortly DM. The Linux display manager is the first thing that welcomes you to your desktop.
But what exactly is a display manager? Think of it as your computer's doorman. It asks for your username and password. Then it lets you into your desktop environment.
This guide covers everything about Linux display managers. You'll learn:
- What is a display manager in Linux,
- How display managers work,
- Popular options like GDM, LightDM, and SDDM,
- Steps to install a display manager in Linux or switch to a different one,
- How to find your current display manager,
- Common problems and how to fix them,
- How to disable display managers completely.
Let us get started!
Table of Contents
Why Display Managers Matter
Your Linux display manager does more than just look pretty. It handles important jobs:
- Shows the login screen
- Checks your password
- Starts your desktop
- Manages user sessions
- Switches between users
Most Linux users never think about their display manager. It just works. But knowing how to use it can make your Linux experience much better.
What is Display Manager in Linux?
A Display manager (DM) is the program that shows you the graphical login screen and starts your desktop. In simple terms, it’s the "login screen" software for the GUI.
You might see a username and password prompt after the system boots – that’s the display manager running.
A display manager "handles graphical user logins" and starts your desktop session when you enter your credentials. Modern Linux systems use display managers, so you can get into your desktop without typing commands in a text console.
On boot, the system comes up and then launches the DM service, which brings up the GUI login screen. From there, it checks your password, picks the right session (GNOME, KDE, Xfce, etc.), and launches it.
In other words, the display manager "runs greeters" and hands off control to the X or Wayland server with your settings.
You need a display manager because it sets up the graphical session for you. Without a display manager, you would only get a text login and have to manually run something like startx
to reach the desktop.
While "display manager" is the most technically accurate term in Linux, some users and distributions refer to it as a "login manager". Both terms are often used interchangeably.
- Display Manager is the formal and more commonly used term in Linux documentation.
- Login Manager is more informal and focuses on the function (handling user logins).
So if someone says "login manager", they usually mean something like GDM, LightDM, or SDDM.
How the Display Manager Fits in the Boot Process
On modern Linux (using systemd), the boot sequence ends by reaching the graphical target. This target starts the display manager service.
For example, enabling gdm.service
causes GNOME’s DM to start at boot. You simply enable the appropriate systemd service (like gdm.service
or lightdm.service
) to get the graphical login.
In other words, at the end of boot systemd runs the DM, which shows the login screen instead of a text console.
If the display manager fails or is disabled, the system will fall back to a text login prompt.
Popular Linux Display Managers
Linux has several common display managers. They differ in look, features, and which desktops they’re used with. Here are a few major ones:
1. GDM (GNOME Display Manager)
This is the default DM for GNOME desktops (used by Fedora, Ubuntu, etc.). It supports both X11 and Wayland and has a polished, modern look.
GDM is a program that manages graphical display servers and handles graphical user logins. It usually shows a simple login UI (often dark-themed) with a user list and password box.
Because it integrates with GNOME, it can be heavier on resources than lighter DMs. Many users like it for its stability and Wayland support, but it has fewer login-screen themes compared to others.
2. LightDM
LightDM is a lightweight, cross-desktop display manager. It was made by Canonical (Ubuntu’s creator) and works well with many desktops (Xfce, LXDE, MATE, and even GNOME or KDE).
LightDM uses greeters (small programs for the login UI) and supports different toolkits (GTK, Qt, etc.). It tends to use less RAM than GDM or SDDM and is easily skinnable.
By default it shows a simple login box, and you can change the look with different greeters. It even supports guest sessions and remote logins.
LightDM is the default on Xubuntu and many lightweight distros because of its speed and flexibility.
3. SDDM (Simple Desktop Display Manager)
SDDM is the modern default for KDE Plasma and LXQt desktops. It is written with Qt/QML, so it looks smooth and supports nice themes.
Simple desktop display manager can run on X11 or Wayland and lets you pick your desktop session from a menu. Many users like SDDM’s attractive login screens (with clock and user icons).
It uses more memory than LightDM, but it integrates well with KDE and handles graphics nicely.
4. LXDM
LXDM is extremely lightweight display manager created for LXDE (a very lightweight desktop).
LXDM has far fewer dependencies than GDM or SDDM, so it starts fast even on old or slow hardware. Its login screen is simple (for example, a basic prompt over a background).
Because it is so minimal, LXDM lacks some features (for instance, it doesn’t fully support guest logins on logout).
It’s a good choice if you just want something quick and easy, especially on low-end PCs.
5. XDM (X Display Manager)
XDM is the original X11 display manager, dating back many years. It has a very basic interface and few features.
The screen is usually just a generic background with a username/password prompt (as in the image above).
XDM is not themable or fancy – it’s the "historic DM" with minimal functionality. It’s still included in many systems for compatibility.
If no other DM is chosen, an installer might default to XDM. Because it’s so simple, XDM can run on almost any machine, but most users prefer newer DMs with nicer looks.
Related Read: How To Check If You’re Running Wayland Or X11 Display Server In Linux
Installing, Removing, and Switching Display Managers
The exact commands differ by distro, but the general idea is similar: install the DM package, then enable or configure it, and disable any old one.
Arch Linux
To install a display manager (E.g. GDM) in Arch Linux and its derivatives, run:
sudo pacman -S gdm
This installs the GDM (Gnome Display Manager).
Similarly, you can install other display managers like LightDM and SDDM like below:
sudo pacman -S lightdm sddm
This is just for showing you how to install different display managers. You don't need to install multiple display managers. Just stick with any one. I personally prefer SDDM.
After installing your preferred DM, enable it:
sudo systemctl enable gdm.service
Disable the old DM similarly. For example if the old DM is LightDM, you can disable it using command:
sudo systemctl disable lightdm.service
Now start the new DM using command:
sudo systemctl start gdm.service
After switching, always reboot to see the new login screen. Arch does not ask at install time which DM to use; you pick by enabling the one you want.
To remove a DM, use:
sudo pacman -Rns <dm-package>
Across all distros, remember you can have multiple DM packages installed but only one active.
You can switch by disabling the active one and enabling the other (or using a config tool like dpkg-reconfigure
on Debian). Always make sure the correct service is enabled, and reboot.
Debian, Ubuntu, Linux Mint
Use apt
(or apt-get
). For example, to install GDM you’d run:
sudo apt update sudo apt install gdm3
Please note that Ubuntu calls it gdm3. In Fedora, it's just gdm.
Similarly, the following commands would add lightdm and sddm and xdm.
sudo apt install lightdm sddm xdm
When a DM is installed, Debian/Ubuntu asks you to choose the default DM with a dialog. You can also change it later with command:
sudo dpkg-reconfigure <dm-package>
For example,
sudo dpkg-reconfigure lightdm
will let you pick between lightdm, gdm3, etc.
To remove a DM, use:
sudo apt remove gdm3
After installing, you may need to enable it:
sudo systemctl enable gdm3.service sudo systemctl disable lightdm.service
if switching from LightDM to GDM.
Fedora, RHEL, AlmaLinux and Rocky Linux
To install GNOME’s DM in Fedora and RHEL, run:
sudo dnf install gdm
If you prefer SDDM (for KDE), do:
sudo dnf install sddm
Then enable the service:
sudo systemctl enable gdm.service
Don't forget to disable the old one:
sudo systemctl disable lightdm.service
Switching works by stopping/disabling the old DM and enabling the new one. Disable your current DM and then enable the new one, e.g.
sudo systemctl disable gdm sudo systemctl enable sddm
Finally reboot to change to the new display manager.
Know Your Currently Active Display Manager
On modern Linux systems that use systemd, you can check the active DM using command:
systemctl status display-manager
Sample Output:
● lightdm.service - Light Display Manager
Loaded: loaded (/lib/systemd/system/lightdm.service; enabled; preset: enabled)
Active: active (running) since Wed 2025-06-04 11:09:03 IST; 3h 30min ago
Docs: man:lightdm(1)
Main PID: 1194 (lightdm)
Tasks: 14 (limit: 37768)
Memory: 299.0M
CPU: 3min 4.048s
CGroup: /system.slice/lightdm.service
├─1194 /usr/sbin/lightdm
└─1233 /usr/lib/xorg/Xorg :0 -seat seat0 -auth /var/run/lightdm/root/:0 -nolisten tcp vt7 -novtswitch
As you see in the output, I am using Light Display Manager (LightDM).
There are also other ways. If you want to know all the possible ways to identify the active Linux display manager, read the following link:
Troubleshooting Linux Display Manager Problems
If your display manager fails (e.g. you get a blank screen or a login loop), here are common checks:
- Switch to a text console: Press Ctrl+Alt+F3 (or F2, F4, etc.) to get a terminal. Log in there. You can then check status or logs.
- Check the DM service: Run something like
systemctl status gdm
orlightdm
to see errors. Usesudo journalctl -u gdm
(replace with your DM) to view its log. - Review X/Wayland logs: Look at files like
/var/log/Xorg.0.log
orjournalctl -b
for errors about graphics or authentication. - Delete stale files: Login loops sometimes happen because of bad files. You can remove
~/.Xauthority
(and~/.ICEauthority
) in your home directory and try again. Many login loops are fixed by deleting these auth files and rebooting. - Graphics drivers: A black screen can mean the X server didn’t start (e.g. NVIDIA or AMD driver issue). Try booting into an older kernel or the recovery mode. Make sure the graphics driver is installed.
- Switch display managers: If one DM fails repeatedly, try installing and enabling another. For example, if GDM won’t start, try
lightdm
orsddm
. One user solved a black screen by switching from GDM to LightDM usingdpkg-reconfigure
. - Service links: Note that
display-manager.service
is usually a symlink to the active DM’s service. Disablingdisplay-manager.service
(sudo systemctl disable display-manager.service
) will stop any DM from starting. You can disable that link if you only want a console.
Usually the log files will hint at the problem. Fixing file permissions, choosing a lighter greeter, or changing WaylandEnable=false
in GDM’s config (for some NVIDIA setups) are more advanced tips.
But as a beginner, switching to a simpler DM (like LightDM) or checking for typos in your greeter config often helps.
Disabling the Display Manager (Boot to Text Mode)
If you prefer to boot into text mode (no GUI), you can disable the DM:
On systemd systems:
You can stop the DM temporarily with sudo systemctl stop gdm
(or replace gdm with your DM).
To make it permanent, change the default target to multi-user:
sudo systemctl disable gdm sudo systemctl set-default multi-user.target
This sets the system to boot to the command line.
To revert back to the GUI mode, use:
sudo systemctl set-default graphical.target
You can either disable the DM service or disable the graphical target to stop the GUI.
On older init systems:
On very old distros (SysVinit), you would edit /etc/inittab
and set runlevel 3 for text mode instead of 5. But most current Linux systems use systemd.
After doing the above, reboot and you should see a login prompt on a text console instead of the graphical screen.
You can still start X or a desktop later by running sudo systemctl start gdm
or by using startx
if you set it up.
Summary
Here's a quick summary of what we have covered so far:
A display manager is the graphical login program on Linux. It starts at boot (usually via systemd) and lets you log into your desktop environment.
Popular DMs include GDM (for GNOME), LightDM (lightweight, cross-desktop), SDDM (for KDE), LXDM (light LXDE login), and the very basic XDM.
You can install or remove them with your distro’s package managers (apt, dnf, pacman) and enable/disable them with systemctl
(or dpkg-reconfigure
on Debian/Ubuntu).
If your display manager fails, check logs or try switching to another DM. To skip the GUI entirely, you can disable the DM service or change the default target to multi-user (text mode).
Related Read: