Greetd: Difference between revisions
Prabuanand (talk | contribs) (redone the page to make navigation easier) |
Prabuanand (talk | contribs) m (moved service activation to its own heading) |
||
(3 intermediate revisions by the same user not shown) | |||
Line 1: | Line 1: | ||
{{DISPLAYTITLE:greetd}} | {{DISPLAYTITLE:greetd}} | ||
[https://git.sr.ht/~kennylevinsen/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: {{pkg|greetd-*}}. | [https://git.sr.ht/~kennylevinsen/greetd greetd] is a minimal and flexible [[Display_manager|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: {{pkg|greetd-*}}. | ||
== Text based greeter == | == Text based greeter == | ||
{{Cat|/etc/greetd/config.toml|<nowiki> | Text based greeter like {{pkg|greetd-agreety}} can log you into a normal terminal session. Make sure that <code>vt</code> is set in: | ||
{{Cat|/etc/greetd/config.toml|<nowiki>[default_session] | |||
command = "agreety --cmd /bin/sh" | |||
[terminal] | [terminal] | ||
# The VT to run the greeter on. Can be "next", "current" or a number | # The VT to run the greeter on. Can be "next", "current" or a number designating the VT. | ||
vt = 7 | vt = 7 | ||
</nowiki>}} | </nowiki>}} | ||
Remember to [[#Activate greetd service|activate greetd service]]. | |||
== Graphical greeter - gtkgreet == | == Graphical greeter - gtkgreet == | ||
Line 20: | Line 23: | ||
# Graphical greeters like gtkgreet require either [[seatd]] or [[elogind]]. If using [[seatd]], follow the additional steps for [[#Using seatd with greetd|using seatd with greetd]]. | # Graphical greeters like gtkgreet require either [[seatd]] or [[elogind]]. If using [[seatd]], follow the additional steps for [[#Using seatd with greetd|using seatd with greetd]]. | ||
# Gtkgreet reads desktop sessions from the file {{Path|/etc/greetd/environments}}, So create the file with the list of login environments/desktop sessions. Instead of listing <Code>sway</Code> a [[Sway#Starting_sway|wrapper script]] like <Code>sway-run</Code> can be used.{{Cat|/etc/greetd/environments|<nowiki>sway-run</nowiki>}} | # Gtkgreet reads desktop sessions from the file {{Path|/etc/greetd/environments}}, So create the file with the list of login environments/desktop sessions. Instead of listing <Code>sway</Code> a [[Sway#Starting_sway|wrapper script]] like <Code>sway-run</Code> can be used.{{Cat|/etc/greetd/environments|<nowiki>sway-run</nowiki>}} | ||
# If using cage, the config file appears as follows:{{Cat|/etc/greetd/config.toml|<nowiki>[default_session] | # If using cage, do not skip the '''-s''' option and the config file appears as follows:{{Cat|/etc/greetd/config.toml|<nowiki>[default_session] | ||
command = "cage -s -- gtkgreet" | command = "cage -s -- gtkgreet" | ||
# Uncomment below command, if you have only one desktop | # Uncomment below command, if you have only one desktop session. | ||
# command = "cage -s -- gtkgreet | # command = "cage -s -- gtkgreet --command sway-run" | ||
user = "greetd"</nowiki>}} | user = "greetd"</nowiki>}} | ||
# Instead of {{pkg|cage}}, [[sway]] | # Instead of {{pkg|cage}}, any other wayland compositor like [[sway]] can be used by setting the greetd config file: {{Cat|/etc/greetd/config.toml|<nowiki>[default_session] | ||
command = "sway --config /etc/greetd/sway-config" | command = "sway --config /etc/greetd/sway-config" | ||
user = "greetd" | user = "greetd" | ||
</nowiki>}} | </nowiki>}} | ||
# | # If [[sway]] is used, create a dedicated sway config file that runs the greeter and terminates when it dies: {{cat|/etc/greetd/sway-config|<nowiki>exec "gtkgreet -l -s /etc/greetd/gtkgreet.css; swaymsg exit" | ||
</nowiki>}} | </nowiki>}} | ||
# | # Remember to [[#Activate greetd service|activate greetd service]]. | ||
== Using seatd with greetd == | == Using seatd with greetd == | ||
{{Note|User '''greetd''' also needs [[Wayland#XDG_RUNTIME_DIR|XDG_RUNTIME_DIR]].}} | |||
When [[seatd]] is used, following additional configuration is required. | When [[seatd]] is used, following additional configuration is required. | ||
# For graphical greeters like gtkgreet, the user '''greetd''' needs the <code>seatd</code> group:{{cmd|# adduser greetd seat}} | # For graphical greeters like gtkgreet, the user '''greetd''' needs the <code>seatd</code> group:{{cmd|# adduser greetd seat}} | ||
Line 41: | Line 44: | ||
<nowiki>rc_need=seatd | <nowiki>rc_need=seatd | ||
</nowiki>}} | </nowiki>}} | ||
# | |||
== Activate greetd service == | |||
Once you have completed the above configuration i.e text or graphical greeter, enable and start greetd:{{cmd|<nowiki># rc-update add greetd | |||
# rc-service greetd start</nowiki>}} | |||
== Auto-login == | |||
Follow [https://man.sr.ht/~kennylevinsen/greetd/#setting-up-auto-login greetd wiki] for auto-login instructions. No alpine Linux specific changes are required. | |||
== See also == | == See also == | ||
* [https://man.sr.ht/~kennylevinsen/greetd/ greetd wiki] | * [https://man.sr.ht/~kennylevinsen/greetd/ greetd wiki] | ||
* [https://wiki.archlinux.org/title/Greetd Arch wiki] | * [https://wiki.archlinux.org/title/Greetd Arch wiki] |
Latest revision as of 05:35, 5 January 2025
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
Text based greeter like greetd-agreety can log you into a normal terminal session. Make sure that vt
is set in:
Contents of /etc/greetd/config.toml
Remember to activate greetd service.
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, do not skip the -s option and 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 session. # command = "cage -s -- gtkgreet --command sway-run" user = "greetd" - Instead of cage, any other wayland compositor like sway 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" - If sway is used, 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" - Remember to activate greetd service.
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
Activate greetd service
Once you have completed the above configuration i.e text or graphical greeter, enable and start greetd:
# rc-update add greetd # rc-service greetd start
Auto-login
Follow greetd wiki for auto-login instructions. No alpine Linux specific changes are required.