Choosing a Linux Greeter: SDDM, SLiM, LightDM-GTK, and GDM Explained

Jarret B

Well-Known Member
Staff member
Joined
May 22, 2017
Messages
454
Reaction score
519
Credits
19,511
When Linux boots, it goes though all the stages of booting, loading the kernel, initializing the initramfs and devices, system initialization and target execution to the Operating System (OS) loaded. The Greeter appears to allow the user to log into the OS.

The Greeter not shows the prompt to allow the user the ability to enter a username and password, but also lets the user select a Desktop Environment. You can choose the Accessibility options.

As we've been going over articles about the modularity of Linux, the Greeter is another changeable modular section of Linux.

In the article, we can go over four different Greeters:
  1. SDDM (Simple Desktop Display Manager)
  2. SLiM (Simple Login Manager)
  3. lightdm-gtk-greeter
  4. GDM (GNOME Display Manager)
Keep in mind that Ubuntu and Fedora but use GDM as the default Greeter. The default Greeter for Arch Linux is lightdm-gtk-greeter, which you can change during the install easily when using 'archinstall'. On my install, I made the default GDM to match Ubuntu and Fedora.

SDDM (Simple Desktop Display Manager)

We can look into installing SDDM on Ubuntu, Fedora and Arch, if they aren't currently using the SDDM Greeter.

On all systems, be sure to perform all updates before continuing.

To install SDDM on Ubuntu, use the command:

Code:
sudo apt install sddm

During the install, the system displays a screen similar to Figure 1. Here, you see that the system is informing you that the system has installed a Display Manager. You can have multiple Display Managers installed, so select 'OK'.

Figure 1.JPG

FIGURE 1

Next, the system gives you a list of Display Managers to let you select which one to use. For Ubuntu or Fedora, the default is GDM, or GDM3. We will now change the default to SDDM, so select it. Figure 2 shows the selection screen.

Figure 2.JPG

FIGURE 2

If you choose the wrong display manager, then you can go back to select it with the command:

Code:
sudo dpkg-reconfigure sddm

During the installation, it may ask you to specify the location of Grub to make changes for the new Display Manager and Greeter.

After the installation is complete, we need to start the service and set it to start after every boot, so use:

Code:
sudo systemctl enable sddm

Once you enable the service, you need to shut down the system and restart it so the SDDM Greeter will start after booting, as shown in Figure 3.

Figure 3.JPG

FIGURE 3

For Fedora, you can install SDDM with:

Code:
sudo dnf install sddm

Next, we need to disable the current Greeter. To see what Display Manager is current, we can use the command:

Code:
systemctl status display-manager

The command also works on Ubuntu to determine the Display Manager.

With the Display Manager, we can disable it with:

Code:
sudo systemctl disable <display-manager>

For example, since the default for Fedora is GDM, the first time we change the Display Manager, the command would be 'sudo systemctl disable gdm'. After we disable it, we can enable the default to be SDDM:

Code:
sudo systemctl enable sddm

Once we set the service to automatically start, we can reboot the system to verify that the change has taken place. The new Greeter should be like Figure 4.

Figure 4.JPG

FIGURE 4

I assume that you are changing to SDDM from the defaults, so this works fine.

For installing SDDM on Arch,

Code:
sudo pacman -S sddm

I used the default fonts that were prompted for after the system checked the repositories.

Once the installation of packages has completed, you can disable the existing Display Manager and enable the SDDM service:

Code:
sudo systemctl disable gdm
sudo systemctl enable sddm

Once you have the services set, you can reboot the Arch system.

SliM (Simple Login Manager)

NOTE:
Be aware that no one maintains SLiM on Fedora and it does not work with Fedora 41.

The SLiM Greeter is more straightforward to install. On Ubuntu, you need to install the packages from the repository:

Code:
sudo apt install slim

When the package configuration appears, choose 'slim' and the installation should continue. Reboot when the installation completes.

After the system boots, you’ll see a screen similar to Figure 5, where you can enter your username. After entering your username and pressing enter, the entry box will clear and you can type in your password. If all is correct, then you should continue on to the desktop.

Figure 5.JPG

FIGURE 5

On a Fedora system, you can install SLiM by:

Code:
sudo dnf install slim

You now need to reboot.

For Arch, we will need to configure the '~/.xinitrc' file to include the following lines to allow GDM, for this example, to start:

Code:
export XDG_SESSION_TYPE=x11
export GDK_BACKEND=x11
exec gnome-session

Save and exit the file. The configuration allows SLiM to be used to verify the username and password, once verified, then the Gnome Display Manager will start.

You can then disable the existing Display Manager. We'll assume GDM, and enable SLiM:

Code:
sudo systemctl disable gdm
sudo systemctl enable slim

Reboot and the login prompt by SLiM should appear.

LightDM-GTK-Greeter

When using LightDM, the LightDM-GTK-Greeter is the default Greeter unless you change it.

So, to install it on Ubuntu, we first need the LightDM Display Manager:

Code:
sudo apt install lightdm

During the install, choose 'lightdm' as the Display Manager. Once set, we can install the greeter:

Code:
sudo apt install lightdm-gtk-greeter

Once installed, we need to edit the config file with your favorite editor at '/etc/lightdm/lightm.conf'.

Add in the following lines, if the file is empty, just add:

Code:
[SeatDefaults]
greeter-session=lightdm-gtk-greeter

Save and exit the editor.

Use the following command to reload the file you just created:

Code:
sudo systemctl restart lightdm

After rebooting the system, see something similar to Figure 6, which is the LightDM-GTK-Greeter.

Figure 6.JPG

FIGURE 6

For Fedora, we can do something similar:

Code:
sudo dnf install lightdm lightdm-gtk-greeter

This will install the packages we need.

Edit the file '/etc/lightdm/lightdm.conf' and add the two lines listed above for Ubuntu.

To disable the existing service and start the new one, we'll assume GDM, and enable lightdm:

Code:
sudo systemctl disable gdm
sudo systemctl enable lightdm

The simply reboot and you should see something similar to Figure 6 when restarting.

For Arch, it will be like Fedora.

Install the Display Manager, 'lighdm', and the Greeter, 'lightdm-gtk-greeter':

Code:
sudo pacman -S lightm lightdm-gtk-greeter

Edit the file '/etc/lightdm/lightdm.conf' and add the two lines listed above for Ubuntu.

The following two lines will disable the existing service, we'll assume GDM, and enable lightdm:

Code:
sudo systemctl disable gdm
sudo systemctl enable lightdm

Then simply reboot the system.

GDM

GDM is the default Greeter for Ubuntu and Fedora, so if you install another Greeter, uninstall GDM and want to put it back, this is how to do it.

For Ubuntu, you need to install GDM, is you uninstalled it:

Code:
sudo apt install gdm3

After the Greeter is in place, you need to change from the SDDM Greeter to GDM3 by disabling SDDM and enabling GDM3:

Code:
sudo systemctl disable sddm
sudo systemctl enable gdm3

We need to re-enable the GUI system and then reconfigure GDM3 as the Display Manager:

Code:
sudo systemctl set-default graphical.target
sudo dpkg-reconfigure gdm3

When prompted, choose GDM3 and not SDDM. You should then reboot the system and GDM3 should prompt for username and password, as shown in Figure 7.

Figure 7.JPG

FIGURE 7

If needed, you can then remove your unneeded Greeter, like SDDM:

Code:
sudo apt purge sddm

At an extreme, the GDM3 service will not be enabled. You can login into the system at a text prompt, use 'sudo dpkg-reconfigure gdm3' to start the GUI and re-enable the service.

For Fedora, you need to reinstall GDM, if you removed it:

Code:
sudo dnf install gdm

We then need to disable the SDDM service and enable the GDM service:

Code:
sudo systemctl disable sddm
sudo systemctl enable gdm

Just reboot.

You can remove the SDDM Display Manager with:

Code:
sudo dnf remove sddm

For Arch, you need to reinstall GDM, if you removed it:

Code:
sudo pacman -S gdm

We now need to disable the previous Display Manager. We will assume 'LightDM' and enable GDM:

Code:
sudo systemctl disable lightdm
sudo systemctl enable gdm

The LightDM packages can be removed with:

Code:
sudo pacman -Rs lightdm

After rebooting, start up with the GDM login and Display Manager.

Conclusion

There are more Greeters available for Linux systems. You may find others you like better than those I discussed.

By understanding the way to add and remove the packages, as well as how to start, stop and enable the services, you can use whichever Greeter you like, as long as it works with your distro. Just make sure you find one that is still maintained for updates and fixes.
 


Follow Linux.org

Members online


Top