1. Introduction
In this tutorial, we’ll explore what display managers are and how they work. We’ll look at the different types of display managers.
The main focus will be on four types: X Display Manager (XDM), GDM (GNOME Display Manager), LightDM, and SDDM (Simple Desktop Display Manager).
2. What Are Display Managers?
Display managers are crucial to modern operating systems, especially those with graphical user interfaces (GUIs). They are defined as software components that aid in the management of user log-ins and graphical interfaces.
Display managers act as a link between users and the display server in question, managing both the login process and the graphical session.
They also play the role of creating both visual appeal and a user-friendly interface.
Understanding display managers is important as there are different types and operational mechanisms. Various types of display managers serve different desktop environments.
3. How Do Display Managers Work?
Display managers perform the important function of managing the graphical user interface of operating systems. They take care of user authentication and session management, among other functions.
Initialization and startup is the first function where display managers launch during the boot process to start the GUI environment. They also start together with the operating system and other necessary components.
Display managers work to initiate the X Window System or the Wayland compositor, based on the display server that’s used.
As soon as the display server starts running, display managers offer the user the login screen. The login screen lets the user access the computer by entering their credentials, which are usually the username and password to access the system. This display manager authenticates the credentials put in against the database of the system user, hence upping the security level.
On successful authentication, the display managers load the desktop environment or a window manager. The manager sets up the best variables in the environment, starts the graphical session, and ensures that the needed resources for the session are allocated.
In the display customization and configuration role, display managers offer the option to tailor the different options in the GUI. We can also customize their graphical environment based on our preferences. The hardware abilities can also be customized through the configuration interface. Display managers also offer login screen customization options where we can pick the background, themes, and wallpapers for personal aesthetics.
To better the usability and inclusivity, display managers include more accessibility features. The features help the users, especially those with visual and other types of disabilities. Some of the most common accessibility features include screen readers, magnifiers, high-contrast themes, and keyboard navigation.
Let’s explore the different types of display managers on Linux.
4. X Display Manager (XDM)
This is one of the earliest forms of display managers created to serve the X Window System. Its main role is to offer simplicity and the most mundane of functionalities. These include the provision of an easy login interface and managing sessions.
XDM visual is a text-based login screen that also supports the XDMCP (X Display Manager Control Protocol) for offline or remote sessions. It operates under clearly defined mechanisms, configuration, and initialization.
XDM is commonly configured using a file configuration found in the /etc/X11/xdm/xdm-config directory. The configuration file helps explain most settings such as the X server to use, resources for the system, and display manager behavior. Most administrators customize the settings to set the XDM to their preferred requirements.
Initialization also works during the system startup, where the XDM launches as a service that initiates the X Window system. It looks for connections on the X display server port, most likely on port 6000.
Based on the Linux distribution, there are various commands we can use to install XDM from the package manager.
This is the Ubuntu command:
$ sudo apt install xdm
On Fedora, we can use this command:
$ sudo dnf install xdm
Finally, on Arch Linux, we can use this command:
$ sudo pacman -S xorg-xdm
This is a preview of XDM:
Here we can see a dialogue box with fields to enter the username and password.
5. GDM (GNOME Display Manager)
GDM, or the GNOME display manager is specifically made for the GNOME desktop environment. Like XDM, it’s both visually appealing and offers a log-in experience filled with features.
The display manager also supports theming, letting us customize the login screen based on our preference. It also offers accessibility features like screen readers and high-contrast themes.
Other common functionalities include automatic session fallbacks and remote logins. Some of the main features of GDM include:
- graphical login screen: GDM has an appealing login screen for the user to key in their username and password to gain access to the desktop environment
- multiple user support: GDM is able to handle various user accounts, hence different users can access their accounts simultaneously, carrying out different sessions
- session management: GDM allows users to have individual and secure environments for their activities
- customization: with themes, background images, and log-in screen images, GDM can tailor the user’s desktop based on their preferences
Let’s install GDM from the local package manager.
On Ubuntu, we can use this command:
$ sudo apt install gdm
This is the Fedora command:
$ sudo dnf install gdm
Finally, on Arch Linux, we can use this command:
$ sudo pacman -S gdm
Here’s a sample of GDM running Ubuntu:
On the login screen, we can use the username and password to access the Desktop view.
6. LightDM
This is a cross-desktop display manager, which aims to be both flexible and lightweight. LightDM works well with desktop environments such as LXDE, Xfce, and Unity. It especially works as the default manager for most Linux distros.
LightDM’s configuration files are mainly located in the /etc/lightdm directory. The files let the administrator change different aspects of the display manager’s behavior. These include the default session settings or timeout value.
Its most significant advantage is that it provides a modular architecture that allows for easy customization and theming. This manager also allows for various multiple graphical toolkits such as Qt and web-based interfaces.
Lastly, LightDM has additional features such as remote login and multi-seater support. It’s necessary to note that individual distributions can tailor LightDM’s appearance to meet their specific needs.
LightDM is available from the local package manager. We can install it using the following commands depending on the specific distro.
This is the Ubuntu command:
$ sudo apt install lightdm
On Fedora, we can use this command:
$ sudo dnf install lightdm
Finally, on Arch Linux, we use this command:
$ sudo pacman -S lightdm
A preview of LightDM on Ubuntu:
From the login screen, we can select a user and enter the corresponding password to log in.
7. SDDM (Simple Desktop Display Manager)
SDDM serves as the default display manager for the KDE Plasma desktop environment. It’s created for simplicity, speed, and visual appeal.
This manager uses QML (Qt Meta-Object Language) to provide a theme and customization, so it’s extremely flexible. It also supports X and Wayland sessions at the same time, making it compatible with modern display server protocols.
SDDM offers a graphical interface that lets us log into the window manager. At this juncture, the manager shows the login screen and we can enter the login details to start a session.
After authentication, SDDM launches the desktop environment and holds up the session until it logs out. It also provides various sessions, where users can use different user interfaces. Its accessibility features such as screen reader support also facilitate users with disabilities to easily interact with the screen.
SDDM is available for installation from the local package manager.
On Ubuntu, we can use this command:
$ sudo apt install sddm
This is the Fedora command:
$ sudo dnf install sddm
Finally, on Arch Linux, we have this command:
$ sudo pacman -S sddm
Below is a preview of SDDM:
Here, we can select a user and enter the password to log in and access the desktop screen.
8. Conclusion
Display managers play a vital role in Linux distributions since they offer a platform for a graphical login interface and management of sessions for the window managers and desktop environments. This function facilitates user authentication and customization of graphical interfaces.
All the different managers play an important role in the creation of an easy and visually appealing environment. Regardless, every one of these managers differs in terms of the aforementioned features, customization options, and desktop environments.
In this article, we discussed the concept, purpose, and mechanisms of display managers that we can use to improve our desktop experiences. Whatever display manager we opt for is based on various factors like compatibility with multiple display servers, extensibility, and accessibility features.