How to Set Up a Display Manager (SDDM, LightDM, GDM) on Arch Linux
Categories:
5 minute read
Arch Linux is known for its minimalist approach, giving users full control over what to install and how to configure their system. One important component of a Linux graphical environment is the display manager. It provides a graphical login interface and manages user sessions.
In this article, we’ll explore how to install and configure three popular display managers on Arch Linux:
- SDDM (Simple Desktop Display Manager)
- LightDM
- GDM (GNOME Display Manager)
We’ll go through installation, enabling the service, and some basic configurations. Let’s get started.
What is a Display Manager?
A display manager (DM) is a graphical login interface for Linux systems that starts the X server or Wayland session and loads your desktop environment (DE) or window manager (WM).
While it’s optional (you can log in from the terminal and start X manually), a display manager makes life easier, especially for new users or multi-user systems.
Popular display managers include:
- SDDM – often used with KDE Plasma
- LightDM – lightweight and flexible, suitable for various DEs
- GDM – default for GNOME, robust and integrates well with GNOME components
Prerequisites
Before setting up a display manager, ensure the following:
- You have a working Arch Linux system.
- You’ve installed a desktop environment (like KDE, GNOME, XFCE) or window manager (like i3, bspwm).
- You have
sudo
privileges.
If you haven’t installed a desktop environment yet, here’s an example of how to install KDE Plasma:
sudo pacman -S plasma kde-applications
Similarly, for GNOME:
sudo pacman -S gnome
And for XFCE:
sudo pacman -S xfce4 xfce4-goodies
Now let’s move on to setting up each display manager.
1. Setting Up SDDM (Simple Desktop Display Manager)
Step 1: Install SDDM
SDDM is the recommended display manager for KDE Plasma but works with other DEs too.
sudo pacman -S sddm
If you’re using KDE Plasma, install the KDE greeter theme:
sudo pacman -S sddm-kcm
Step 2: Enable SDDM Service
Enable and start SDDM so it launches on boot:
sudo systemctl enable sddm.service
sudo systemctl start sddm.service
Step 3: Customize SDDM
SDDM is customizable with themes. You can find themes on https://store.kde.org.
To list available themes:
ls /usr/share/sddm/themes/
To change the theme, edit the configuration file:
sudo nano /etc/sddm.conf
Or create one with:
sudo sddm --example-config > /etc/sddm.conf
In the [Theme]
section, specify:
[Theme]
Current=breeze
You can also configure settings like autologin:
[Autologin]
User=username
Session=plasma.desktop
2. Setting Up LightDM
Step 1: Install LightDM and a Greeter
LightDM is lightweight and modular. You need both the base package and a greeter (UI).
Install LightDM and the GTK greeter (good for XFCE, MATE):
sudo pacman -S lightdm lightdm-gtk-greeter
Other greeters include:
lightdm-webkit2-greeter
– for web-based themeslightdm-slick-greeter
– used by Linux Mint
Step 2: Enable LightDM
sudo systemctl enable lightdm.service
sudo systemctl start lightdm.service
Step 3: Configure LightDM
Main config: /etc/lightdm/lightdm.conf
To set the greeter:
[Seat:*]
greeter-session=lightdm-gtk-greeter
Customize the greeter appearance:
sudo nano /etc/lightdm/lightdm-gtk-greeter.conf
Example:
[greeter]
theme-name=Adwaita
icon-theme-name=Papirus
background=/usr/share/backgrounds/xfce/xfce-blue.jpg
Themes and background images help personalize your login screen.
3. Setting Up GDM (GNOME Display Manager)
Step 1: Install GDM
GDM is the default display manager for GNOME.
sudo pacman -S gdm
Installing GNOME DE will also install GDM in most cases.
Step 2: Enable GDM
sudo systemctl enable gdm.service
sudo systemctl start gdm.service
Step 3: Configure GDM
GDM does not have as much theming flexibility as SDDM or LightDM. It uses GNOME Shell themes and follows GNOME’s design philosophy.
To change themes:
- Install GNOME Shell extensions and tweak tools
- Use
gnome-tweaks
:
sudo pacman -S gnome-tweaks
Note: Changing GDM’s theme often requires modifying system files (e.g., /usr/share/gnome-shell/theme/
), which is not recommended unless you’re confident.
GDM handles both X and Wayland sessions, depending on availability.
Switching Between Display Managers
Only one display manager should be enabled at a time.
To switch, disable the current one:
sudo systemctl disable gdm.service # or lightdm, sddm
Then enable the new one:
sudo systemctl enable sddm.service
Then reboot:
sudo reboot
Troubleshooting Tips
1. Blank screen or failed login
- Check logs with
journalctl -xe
orjournalctl -u sddm.service
- Verify your DE is properly installed
- Test X session manually:
startx
2. Wrong session starts
Ensure session files exist in /usr/share/xsessions/
or /usr/share/wayland-sessions/
.
You can set the default session in your display manager’s config:
- For SDDM:
Session=plasma.desktop
- For LightDM:
user-session=xfce
3. Autologin issues
Make sure the user exists and session name is correct in the config. Also ensure the user is not locked:
passwd -S username
Unlock with:
sudo passwd username
Choosing the Right Display Manager
Here’s a quick comparison to help you choose:
Feature | SDDM | LightDM | GDM |
---|---|---|---|
Best for | KDE Plasma | XFCE, MATE, LXDE | GNOME |
Customizability | High (themes) | High (greeters) | Low |
Wayland support | Limited | Depends on DE | Native |
Resource usage | Moderate | Low | Higher |
Recommendation:
- KDE: Use SDDM
- XFCE/MATE/LXDE: Use LightDM
- GNOME: Use GDM
Conclusion
Setting up a display manager on Arch Linux enhances your desktop experience by offering a polished graphical login. Whether you choose SDDM, LightDM, or GDM, each one offers flexibility and integration with different desktop environments.
Arch’s do-it-yourself philosophy means you’re free to explore, tweak, and configure your system exactly how you like it. Whichever display manager you go with, make sure it matches your DE for the best user experience.
Once your DM is running, you’ll be greeted with a clean and convenient login screen every time you boot your system.
Further Reading:
Feedback
Was this page helpful?
Glad to hear it! Please tell us how we can improve.
Sorry to hear that. Please tell us how we can improve.