greetd
greetd is a minimal and flexible login manager daemon that makes no assumptions about what you want to launch. Greetd needs to be combined with a greeter. You can find a list of available greeters: greetd-*.
Text based greeter
For text based greeters you want to make sure that vt
is set in:
Contents of /etc/greetd/config.toml
Graphical greeter - gtkgreet
The following section details the steps for using the graphical greeter gtkgreet which is packaged as greetd-gtkgreet.
- Install the main package and the greeter:
# apk add greetd greetd-gtkgreet
- Install a lightweight wayland compositor to be used with greetd login session.(If using Sway, no need for cage).
# apk add cage
- Graphical greeters like gtkgreet require either seatd or elogind. If using seatd, follow the additional steps for using seatd with greetd.
- Gtkgreet reads desktop sessions from the file /etc/greetd/environments, So create the file with the list of login environments/desktop sessions. Instead of listing
sway
a wrapper script likesway-run
can be used.Contents of /etc/greetd/environments
sway-run - If using cage, the config file appears as follows:
Contents of /etc/greetd/config.toml
[default_session] command = "cage -s -- gtkgreet" # Uncomment below command, if you have only one desktop and contents of /etc/greetd/environments will be ignored. # command = "cage -s -- gtkgreet -l -s /etc/greetd/gtkgreet.css --command sway-run" user = "greetd" - Instead of cage, sway or any other wayland compositor can be used by setting the greetd config file:
Contents of /etc/greetd/config.toml
[default_session] command = "sway --config /etc/greetd/sway-config" user = "greetd" - Create a dedicated sway config file that runs the greeter and terminates when it dies:
Contents of /etc/greetd/sway-config
exec "gtkgreet -l -s /etc/greetd/gtkgreet.css; swaymsg exit" - Once you have completed the above configuration, enable and start greetd:
# rc-update add greetd # rc-service greetd start
Using seatd with greetd
When seatd is used, following additional configuration is required.
- For graphical greeters like gtkgreet, the user greetd needs the
seatd
group:# adduser greetd seat
- Append
rc_need=seatd
in the following file:Contents of /etc/conf.d/greetd
... rc_need=seatd - User greetd also needs XDG_RUNTIME_DIR.