The best thing about an open source operating system, such as Linux, is that you can customize it as much as you want, ranging from default applications such as file managers, music players, web browsers, and text editors etc. to more vital system components such as the kernel, display managers, and terminal consoles. You can do this simply by downloading new application software and replacing the old ones with that, or editing system components by making changes in the source code of your operating system. The display manager is one such system component that you can replace simply by running a few commands mentioned in this article.
What is a display manager?
A display manager is the component of your Operating system responsible for launching your display server and the login session. This is the reason it is sometimes called the login manager. The layout of the screen that you see while entering your username and password(the greeter), your login session and user authorization are some of the tasks that the display manager performs. A few common types of default display managers are gdm, gdm3, lightdm, and kdm etc.
The Login screen of LightDM
Why and how to switch between display managers?
While all display managers serve the same purpose, managing the look & feel and session management of user login, they vary in size, complexity, and operation. You will also notice that they almost, but not absolutely, look alike. You may wish to switch to a certain version depending on your OS and system specifications. For Example, a lighter weight display manager is perfect for a slightly old computer system. Another reason for switching to a new one might be the unavailability of catchy themes for the login background. A lighter and less complex display manager may lack this feature. A few days back, I changed my display manager because my default one broke due to some customization I was making. So, instead of wasting time and efforts on fixing that one, I preferred migrating to an alternative display manager.
While working with, and switching between display managers, you will be mostly using the following commands:
Check Current Display Manager
In order to check which display manager is currently running on your system, enter the following command in your Ubuntu terminal:
$ cat /etc/X11/default-display-manager
The above image shows that my system is currently running a gdm3 display manager.
Install/Remove a Display Manager
Use the following commands in order to add/remove a display manager from your system:
$ sudo apt-get install [displaymanagername]
$ sudo apt-get install gdm3
$ sudo apt-get remove [displaymanagername]
sudo apt-get remove gdm3
Switch to another Display Manager
You can switch from one display manager to another by first installing that display manager if it is already not installed and then using the following command to switch to a new one:
$ sudo dpkg-reconfigure gdm3
When you enter your username and password, the following window will appear giving you an idea about how display managers run in a system.
Press enter for OK; the following window will appear. You can configure a new display manager through the up and down arrow keys and then by pressing enter for OK.
You selected display manager will be configured as the default one when you restart your system.
Some Common Display Managers for Ubuntu
Here are some popular Ubuntu display managers that you may wish to choose from:
GDM, the Gnome Display Manager is the default display manager for the popular Gnome desktop environment. It supports the windowing systems X11 and Wayland. You can easily customize it to allow passwordless login, hide list of other users and for configuring themes, custom sessions and login screens. Basic configurations to GDM can be done through the UI through System Settings. For advanced configurations, you need to edit GDM configuration files as an authorized user. Here is a list of some of the files that let you configure your login session and display settings:
/etc/X11/gdm/gdm.conf /etc/gdm/gdm.conf /etc/dconf/db/gdm.d(for advanced tweaking)
GDM3 is the default display manager that comes with the latest versions of Ubuntu, for example, Ubuntu 18. It is a redesigned version of GDM; though its look & feel is almost the same as GDM, it is pretty different in the background. It is lighter and faster but lacks a few features that you could use in the legacy GDM. For example, most of the configurable features are accessible through the conf files rather than the user interface Settings utility. You can make changes in the following file in order to customize your Login UI and sessions tackling:
LightDM is also an alternate display manager for the older GDM. It has various greeter themes available for configuration. It supports Canonical server and X.org, therefore, it is a good choice for Ubuntu. Through LightDM, you can customize login greeter sessions, disable guest account and show/hide the list of other users on login. Here is a list of the files that let you configure your login session and display settings in Ubuntu:
/etc/lightdm/(includes various configuration files) /etc/lightdm/lightdm.conf.d/
KDM is the default display manager for KDE. It comes with a lot of customizable functionality through the UI module: System Settings. You can customize minute details in your greeter such as welcome message, font, and background wallpaper. A powerful feature of KDM is that it prevents shutting down at the login screen so only logged in users can shut down the computer system. Other customization options include root shutdown, logging a user and auto-login feature.
After reading this article, you are hopefully familiar with the concept of a Linux Display manager and what is the need of choosing one over the other. You can download and switch between different display Manager installed on your system with the help of the simple commands we described in this article.