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:
- you configure greetd with
config.toml
- the greeter with
regreet.toml
- the config for the compositor (here
sway
) used to display the greeter - the entries in
environment
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