Using greetd as login manager

I changed my login manager from sddm to greetd. I am able to login into sway, hyprland and riverwm.

I decide to change because it felt that greetd might be more lightweight then sddm.

It is in fact, with greetd using about 3.6M and the worker launching the selected session at 8.6M. Compared to sddm at 21M, it's slightly smaller in memory use.

I held back since Hyprland documentation seemed to indicate that it would not work with greetd. Since then, I moved back to sway due to weird gpu crashes when using hyprland. I decided today to jump ship.

I used regreet as a greeter. I'm already thinking of changing to using qtgreet instead.

To install on archlinux:

sudo pacman -S greetd regreet qtgreet

Everything happens in /etc/greetd/ where:

My config is as follows:

config.toml

[terminal]
# The VT to run the greeter on. Can be "next", "current" or a number
# designating the VT.
vt = 1

[default_session]
command = "sway --config /etc/greetd/sway-config"
user = "greeter"

greetd starts on tty1

it needs a compositor to start. This is way sway is launched first, I believe...

sway-config

exec "regreet; swaymsg exit"
include /etc/sway/config.d/*

input * {
	xkb_layout fr
}

and the environment:

sway
hyprland
river
bash
zsh

I also needed to modify PAM so that my keyring is opened on login. Nextcloud Desktop Sync app notably asks for a password or just does not login and needs to reauthencate on each login. Which is very annoying.

#%PAM-1.0
auth       required     pam_securetty.so
auth       requisite    pam_nologin.so
auth       include      system-local-login
auth       optional     pam_gnome_keyring.so  # Add this line
account    include      system-local-login
session    include      system-local-login
session    optional     pam_gnome_keyring.so auto_start  # Add this line
↑ Back to the top