How to customize the SDDM display manager on Linux

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
How to customize the SDDM display manager on Linux
How to customize the SDDM display manager on Linux
Software requirements and conventions used
Category Requirements, Conventions or Software Version Used
System Distribution-independent
Software sddm
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 sudo command $ – requires given linux-commands to be executed as a regular non-privileged user

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 pacman:

$ 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 apt wrapper:

$ 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:

Selecting what display manager to use on Ubuntu
Selecting what display manager to use on Ubuntu

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 Current option. To use the “maya” theme, for example, we would write:

[Theme]
Current=maya

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 --test-mode and --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:

The preview of the "maya" SDDM theme
The preview of the “maya” SDDM theme

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.

Conclusions

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.



Comments and Discussions
Linux Forum