SDDM (Simple Desktop Display Manager) is a modern, free and open source Display Manager available on Linux and other Unix platforms like FreeBSD. It works both with X11 and Wayland, and is based on QtQuick, a framework to build QML applications. SDDM allows a great degree of customization and; thanks to this, a lot of custom themes are available for it.
In this tutorial we see how to install and enable SDDM on some of the most used Linux distributions, and how to change its look by using custom themes.
In this tutorial you will learn:
- What is a Display Manager
- How to install and enable SDDM on some of the most used Linux distributions
- How to install and use SDDM themes
- How to test a SDDM theme without installing it
|Category||Requirements, Conventions or Software Version Used|
|Other||Administrative privileges to install theme files|
|Conventions||# – requires given linux-commands to be executed with root privileges either directly as a root user or by use of
What is a display manager?
Modern Linux distributions, when a desktop environment such as GNOME, Xfce, or KDE is installed, use a software called “display manager” to provide the user with a graphical interface he can use to login into the system. When more than one desktop environment is installed, a display manager allows also the user to choose which one to use. SDDM is a display manager written using Qt libraries (more specifically the QtQuick framework), and for this reason it is usually used as the default display manager for KDE Plasma.
How to install SDDM?
As we just said, if you are using KDE Plasma as desktop environment, chances are you already are using SDDM; however, here is how you can install it explicitly on some of the most used Linux distributions. On Fedora, to install software packages, we use the
dnf package manager. We run:
$ sudo dnf install sddm
After performing the installation, to setup SDDM as the default display manager you should disable the display manager currently in use, and enable SDDM in its place. Supposing you are using “Lightdm”, for example, you would run:
$ sudo systemctl disable lightdm && sudo systemctl enable sddm
The next time you reboot the system, you will be prompted to login in the interface provided by SDDM.
To install SDDM on Archlinux, instead, we use
$ sudo pacman -Sy sddm
The instruction to enable the display manager are the same we used above, for Fedora.
On Ubuntu, Debian and other similar distributions, to install SDDM we can use the
$ sudo apt install sddm
When performing the installation on those distributions, and another display manager is already installed, you may be prompted to select which one should run by default. To use SDDM, just choose the corresponding entry in the menu, and confirm your choice:
To install SDDM on OpenSuse, we can use the
zypper package manager:
$ sudo zypper in sddm
After the installation is complete, to set SDDM as the default, you need to run:
$ sudo update-alternatives --set default-displaymanager /usr/lib/X11/displaymanagers/sddm
Installing and using custom SDDM themes
Customizing SDDM by using custom themes is very easy. On the vast majority of cases, the directory in which SDDM looks for themes is
/usr/share/sddm/themes: is in this directory that we need to place any theme that we want to use. The directory probably contains already more than one theme, and your favorite distribution may have a package which contains some themes. On the latest version of Fedora, for example, there is a package called
sddm-themes. Here is the content of the
/usr/share/sddm/themes after the package is installed:
$ ls -l /usr/share/sddm/themes drwxr-xr-x. 3 root root 4096 Jul 26 11:54 elarun drwxr-xr-x. 2 root root 4096 Jul 26 11:54 maldives drwxr-xr-x. 6 root root 4096 Jul 26 11:54 maya
As you can see the directory contains three themes. How can we use one of them? Well, it is really easy! All we have to do is to change the SDDM configuration file,
/etc/sddm.conf. To change a theme, in the
[Theme]section we need to assign the name of the theme we want to use as the value of the
Currentoption. To use the “maya” theme, for example, we would write:
To visualize the changes, you could just logout, however, there is a better way to check how a theme would look.
Getting a preview of a theme
Having to logout each time we want to try a new SDDM theme would be annoying, but don’t worry, since there is a method we can use to get a preview of how a theme would look before applying it. What we want to do is to run the
sddm-greeter utility using the
--theme options, passing the path of the directory containing the theme we want to test as the argument of the latter. Suppose we want to get a preview of the “maya” theme; we would run:
$ sddm-greeter --test-mode --theme /usr/share/sddm/themes/maya
The command can be invoked as a normal user, since it doesn’t need special permissions. Here is the generated preview:
Once you find a theme that you like, you can just apply it, as we did previously. To find new and shiny SDDM themes, you can visit sites like gnome-look.org or search Github, since in the vast majority of cases themes development is managed using git, and hosted on that platform.
In this tutorial we learned how to install and enable the SDDM display manager on some of the most used Linux distributions and how to easily customize it by using one of the many custom themes available.