Linux Guide 📓

Login Manager

Last updated: 2024, Wed Jun 5th at 14:57 CDT


Login managers are originally called display managers. These programs prompt for a user name and password. and allows the user to change the session type. These instructions are based on systemd distros if you use a different init system consult its documentation.


Greetd #

Greetd is a minimal, agnostic and flexible login manager. It is a login daemon which supports both console and graphical greeters. When installed, greetd comes with a simple basic text based greeter called agreety. You can change this by adding a different greeter.

sourcehut

To Install: #

Preferred method

Greetd can be installed though your package manager, additional greeters may require other steps.

sudo pacman -S greetd

AUR: greetd-git

sudo apt install greetd
sudo dnf install greetd
sudo zypper in greetd

Build Instructions #

If you need to compile it, then follow official documentation.

Essentials #

To setup greetd, start by editing /etc/greetd/config.toml, by default this config opens the default shell, --cmd /bin/sh once logged in.

[terminal]
vt = 1

[default_session]
command = "agreety --cmd /bin/sh"
user = "greeter"

by changing /bin/sh to sway or Hyprland it will launch the respective program. If your using a different greeter other then agreety then the command = "" may differ, check their documentation. You can setup auto-login also by configuring an [initial_session], instructions can be found on the wiki or the Arch wiki. Once greetd is configured to your liking, you will need to set it to launch on startup. Start by enabling the systemd service.

sudo systemctl enable greetd

After enabling the service it should change to boot target, however if it doesn’t check the Arch wiki or try changing default.target with

sudo systemctl set-default graphical.target
Greeters #

A collection of some of the greeters available

  • agreety - The simple, text-based greeter that is installed with greetd.
  • gtkgreet - The flagship graphical, GTK based greeter
  • qtgreet - Qt-based greeter using wlr-layer-shell
  • nwg-hello - GTK3-based greeter meant for wlroots compositors
  • wlgreet - Wayland greeter using wlr-layer-shell-unstable
  • tuigreet - Console UI, or TUI, greeter
  • ReGreet - Clean and customizable GTK4 based greeter
  • greetd-qmlgreet - Qt6 qml greetd using ext-session-shell

Addition information and guides can be found in the wiki or the Arch wiki.


sddm #

The Simple Desktop Display Manager (SDDM) is a display manager. It is the recommended display manager for the KDE Plasma and LXQt. It is an extremely customizable, modern QT-based manager with the ability to a create smooth animated interface.

GitHub

To Install: #

Preferred method

SDDM should be installed though your package manager.

sudo pacman -S sddm

AUR: sddm-git

sudo apt install sddm
sudo dnf install sddm
sudo zypper in sddm

Essentials #

Once SDDM is configured to your liking, you will need to set it to launch on startup. Start by enabling the systemd service.

sudo systemctl enable sddm

After enabling the service it should change to boot target, however if it doesn’t check the Arch wiki or try changing default.target with

sudo systemctl set-default graphical.target
Extras #

Custom Theming

Two easy places to find custom themes is the KDE Store or on GitHub.

SDDM looks for themes in /usr/share/sddm/themes, place the uncompressed theme in this directory. In order to change the SDDM theme, you need to edit the configuration file /etc/sddm.conf, change the Current=,  in the [Theme]. The example has been set to maya below.

[Theme]
Current=maya

If you want or need a preview of the maya theme, use the following command.

sddm-greeter --test-mode --theme /usr/share/sddm/themes/maya

This can be very useful if you want to create your own. Change /usr/share/sddm/themes/maya to a different directory to preview other themes or your own custom one.


gdm #

The GNOME Display Manager (GDM) is a program that manages graphical display servers and handles graphical user logins. It is a customizable, modern GTK-based manager.

Official Site

To Install: #

Preferred method

GDM should be installed though your package manager.

sudo pacman -S gdm
sudo apt install gdm3
sudo dnf install gdm
sudo zypper in gdm

Essentials #

Once GDM is configured to your liking, you will need to set it to launch on startup. Start by enabling the systemd service.

sudo systemctl enable gdm

After enabling the service it should change to boot target, however if it doesn’t check the Arch wiki or try changing default.target with

sudo systemctl set-default graphical.target
Extras #

Custom Theming

Use gdm-settings to customize GDM, installation instructions can be found on their wiki.

Theme are installed in /usr/share/themes with a valid gnome-shell.css file. If you want to customize it more, consult either the official documentation, GDM manual, or the Arch wiki.


emptty #

Emptty is a very simple cli display manager on TTY

GitHub

To Install: #

Preferred method

Its best to build in most case but if available Package managers can be used

Only available in the AUR

AUR: emptty-git

sudo apt install emptty

Build Instructions #

Dependencies may be different then the names listed depending the distro. There are a lot of options when compiling, Consult the installation guide for the dependencies and commands.

Essentials #

To set up and configure emptty, create an emptty file in the .config directory. This is an example that launches Sway after login.

Name=Custom Optional Name
Exec=/usr/bin/sway
Environment=wayland

More examples and further details can be found on the GitHub samples page or in the User config section. Once emptty is configured to your liking, you will need to set it to launch on startup. Start by enabling the systemd service.

sudo systemctl enable emptty

After enabling the service it should change to boot target, however if it doesn’t check the Arch wiki or try changing default.target with

sudo systemctl set-default graphical.target
Extras #

Custom Theming You can find the configuration options in the README

There are a lot of ways that emptty can be configured. Even though be default it is very basic, this includes MOTD, colors, Autologin, and more.


Other #

There are quite a few different login managers to choose from some that maybe of interest include:

  • LightDM = a lightweight, cross-desktop display manager with ssupports remote login and guest sessions
  • Web Greeter = a program that allows you to create and use wonderful themes in your Login Manager for LightDM
  • Ly = a lightweight TUI (ncurses-like) display manager