Greetd: Unterschied zwischen den Versionen
Dirk (Diskussion | Beiträge) |
Dirk (Diskussion | Beiträge) KKeine Bearbeitungszusammenfassung |
||
| (12 dazwischenliegende Versionen desselben Benutzers werden nicht angezeigt) | |||
| Zeile 1: | Zeile 1: | ||
{{SEITENTITEL:greetd}} | {{SEITENTITEL:greetd}} | ||
greetd ist ein | greetd ist ein von der zu startenden Session unabhängig gehaltener Login-Manager. Sein Zweck ist es, ''Greeter'' zu starten, also jene Komponente eines [[Login-Manager]]s, die zur Eingabe von Benutzername und Kennwort auffordert – allerdings ohne die Komplexität und Systemgebundenheit klassischer Displaymanager. | ||
{{installation|greetd}} | {{installation|greetd}} | ||
Standardmäßig wird {{paket|greetd-agreety}} mitgeliefert. Dies ist ein sehr minimalistischer, textbasierter Greeter. Es besteht die Möglichkeit, diverse weitere Greeter zu installieren (siehe Tabelle). | Nach der installation muss der greetd-[[Systemd#systemctl|Service]] noch aktiviert werden. | ||
systemctl enable greetd | |||
Standardmäßig wird {{paket|greetd-agreety}} mitgeliefert, der auch in der Standardkonfiguration aktiv ist. Dies ist ein sehr minimalistischer, textbasierter Greeter. Es besteht die Möglichkeit, diverse weitere Greeter zu installieren (siehe Tabelle und Links). | |||
== Funktionsweise == | == Funktionsweise == | ||
greetd ist nicht darauf festgelegt, explizit ein spezielles Programm zu starten, sondern kann sehr flexibel alle starten, was man von der | [[Datei:greetd_tuigreet_login.png|thumb|300x|Der Greeter `tuigreet` mit angepasstem Theme während der Anmeldung auf einem Testsystem.]] | ||
greetd ist nicht darauf festgelegt, explizit ein spezielles Programm zu starten, sondern kann sehr flexibel alle starten, was man von der Befehlszeile aus starten kann. Das ist derart flexibel, dass die Greeter, von denen sich der Programmname ableitet, ebenfalls „einfach nur Programme“ sind, die von greetd gestartet werden. | |||
=== Ablauf === | === Ablauf === | ||
Der Ablauf geht davon aus, dass der ausgeführte Befehl ein Greeter ist. | Der Ablauf geht davon aus, dass der ausgeführte Befehl ein Greeter ist, der die greetd-API benutzt um die Authentifizierung mittels PAM durchzuführen. | ||
# | # das System wird gebootet | ||
# | # der greetd-Service startet | ||
# | # die Default-Session wird geladen | ||
# | # der definierte Greeter wird gestartet | ||
# | # der Greeter erstellt mittels der JSON-API von greetd eine Authentifizierungs-Session | ||
# greetd handelt mit PAM die Authentifizierung aus | # greetd handelt mit PAM die Authentifizierung aus | ||
# greetd gibt das Ergebnis an den Greeter zurück | # greetd gibt das Ergebnis an den Greeter zurück | ||
# | # der Greeter beendet sich und startet einen definierten Befehl | ||
Wie wie Authentifizierung stattfindet, und was der Greeter mit dem Ergebnis macht, ist abhängig davon, wie PAM konfiguriert ist, und welchen Zweck der Greeter hat. | Wie wie Authentifizierung stattfindet, und was der Greeter mit dem Ergebnis macht, ist abhängig davon, wie PAM konfiguriert ist, und welchen Zweck der Greeter hat. | ||
Nachdem die Anwendung die durch den definierten Befehl gestartet wurde, beendet wurde, übernimmt greetd wieder: | |||
# das Programm wird beendet | |||
# greetd startet die Default-Session erneut | |||
# der definierte Greeter wird dadurch wieder gestartet | |||
# … ab hier wiederholt sich der Ablauf. | |||
Statt eines Greeters kann jedes beliebige andere Programm gestartet werden. | Statt eines Greeters kann jedes beliebige andere Programm gestartet werden. | ||
| Zeile 41: | Zeile 52: | ||
Diese Beispielkonfiguration benutzt das nächstmögliche virtuelle Terminal, wechselt zu diesem sobald greetd startet, lädt den {{ic|tuigreet}}-Greeter (siehe unten), dieser Zeigt {{ic|/etc/issue}} an, merkt sich den zuletzt erfolgreich authentifizierten Benutzernamen,und startet nach erfolgreicher Authentifizierung [[labwc]]. | Diese Beispielkonfiguration benutzt das nächstmögliche virtuelle Terminal, wechselt zu diesem sobald greetd startet, lädt den {{ic|tuigreet}}-Greeter (siehe unten), dieser Zeigt {{ic|/etc/issue}} an, merkt sich den zuletzt erfolgreich authentifizierten Benutzernamen,und startet nach erfolgreicher Authentifizierung [[labwc]]. | ||
== Automatisch anmelden == | |||
Der automatische Login mit einem definierten Benutzernamen kann mittels der {{ic|initial_session}} stattfinden. | |||
{{hc|1=/etc/greetd/config.toml|2= | |||
[terminal] | |||
vt = next | |||
switch = true | |||
[initial_session] | |||
command = "labwc" | |||
user = "username" | |||
}} | |||
== | Dies startet ohne weiteres Zutun ''labwc'' mit den Berechtigungen und der Konfiguration des Accounts {{ic|username}}. | ||
== Einige weitere Greeter == | |||
Diese Liste zeigt nur Greeter mit Alleinstellungsmerkmalen auf. | |||
{| class="wikitable sortable" | {| class="wikitable sortable" | ||
! Paket !! Darstellung !! Startbefehl | ! Paket !! Darstellung !! Startbefehl ({{ic|1=command = "..."}}) | ||
|- | |- | ||
| {{paket| | | {{paket|greetd-agreety}} || Einfaches Texteingabeprompt, ideal für Systeme ohne GUI || {{ic|agreety --cmd zsh}} | ||
|- | |||
| {{AUR|greetd-ddlm-git}} || Sehr einfacher Greeter der im Framebuffer läuft || {{ic|ddlm --target labwc}} | |||
|- | |||
| {{paket|greetd-gtkgreet}} || Einfacher grafischer Greeter auf GTK-3-Basis || {{ic|cage -s -- gtkgreet -c labwc}} | |||
|- | |||
| {{paket|greetd-tuigreet}} || Texteingabeprompt mit anpassbarem textuellem Design || {{ic|tuigreet --cmd labwc}} | |||
|- | |||
| {{paket|nwg-hello}} || Umfangreicher grafischer Greeter (GTK 3 & Python) || [https://github.com/nwg-piotr/nwg-hello spezielle Konfiguration] {{sprache|en}} | |||
|} | |} | ||
== Siehe auch == | == Siehe auch == | ||
* {{paket|Cage}} wird für einige Greeter empfohlen | * {{paket|Cage}} wird für einige Greeter empfohlen | ||
* greetd positioniert sich im [[Wayland]]-Umfeld | * greetd positioniert sich im [[Wayland]]-Umfeld | ||
== Weblinks == | == Weblinks == | ||
* [https://git.sr.ht/~kennylevinsen/greetd Offizielles Git-Repository] {{sprache|en}} | * [https://git.sr.ht/~kennylevinsen/greetd Offizielles Git-Repository] {{sprache|en}} | ||
* Weitere Greeter [https://aur.archlinux.org/packages?K=greetd im AUR] & [https://archlinux.org/packages/?q=greetd in extra] | |||
[[Kategorie:Benutzerverwaltung]] | |||
[[en:greetd]] | |||
Aktuelle Version vom 1. März 2026, 00:46 Uhr
greetd ist ein von der zu startenden Session unabhängig gehaltener Login-Manager. Sein Zweck ist es, Greeter zu starten, also jene Komponente eines Login-Managers, die zur Eingabe von Benutzername und Kennwort auffordert – allerdings ohne die Komplexität und Systemgebundenheit klassischer Displaymanager.
Installation
Das Programm ist als
greetd
in extra
verfügbar, und kann von dort
mittels Pacman
installiert werden.
Nach der installation muss der greetd-Service noch aktiviert werden.
systemctl enable greetd
Standardmäßig wird greetd-agreety mitgeliefert, der auch in der Standardkonfiguration aktiv ist. Dies ist ein sehr minimalistischer, textbasierter Greeter. Es besteht die Möglichkeit, diverse weitere Greeter zu installieren (siehe Tabelle und Links).
Funktionsweise

greetd ist nicht darauf festgelegt, explizit ein spezielles Programm zu starten, sondern kann sehr flexibel alle starten, was man von der Befehlszeile aus starten kann. Das ist derart flexibel, dass die Greeter, von denen sich der Programmname ableitet, ebenfalls „einfach nur Programme“ sind, die von greetd gestartet werden.
Ablauf
Der Ablauf geht davon aus, dass der ausgeführte Befehl ein Greeter ist, der die greetd-API benutzt um die Authentifizierung mittels PAM durchzuführen.
- das System wird gebootet
- der greetd-Service startet
- die Default-Session wird geladen
- der definierte Greeter wird gestartet
- der Greeter erstellt mittels der JSON-API von greetd eine Authentifizierungs-Session
- greetd handelt mit PAM die Authentifizierung aus
- greetd gibt das Ergebnis an den Greeter zurück
- der Greeter beendet sich und startet einen definierten Befehl
Wie wie Authentifizierung stattfindet, und was der Greeter mit dem Ergebnis macht, ist abhängig davon, wie PAM konfiguriert ist, und welchen Zweck der Greeter hat.
Nachdem die Anwendung die durch den definierten Befehl gestartet wurde, beendet wurde, übernimmt greetd wieder:
- das Programm wird beendet
- greetd startet die Default-Session erneut
- der definierte Greeter wird dadurch wieder gestartet
- … ab hier wiederholt sich der Ablauf.
Statt eines Greeters kann jedes beliebige andere Programm gestartet werden.
Konfiguration
Die Konfiguration von greetd findet in /etc/greetd/config.toml statt, und wird in der greetd-Manpage aus Sektion 5 ausführlich erklärt.
/etc/greetd/config.toml
[terminal] vt = next switch = true [default_session] command = "tuigreet --issue --remember --cmd labwc" user = "greeter"
Diese Beispielkonfiguration benutzt das nächstmögliche virtuelle Terminal, wechselt zu diesem sobald greetd startet, lädt den tuigreet-Greeter (siehe unten), dieser Zeigt /etc/issue an, merkt sich den zuletzt erfolgreich authentifizierten Benutzernamen,und startet nach erfolgreicher Authentifizierung labwc.
Automatisch anmelden
Der automatische Login mit einem definierten Benutzernamen kann mittels der initial_session stattfinden.
/etc/greetd/config.toml
[terminal] vt = next switch = true [initial_session] command = "labwc" user = "username"
Dies startet ohne weiteres Zutun labwc mit den Berechtigungen und der Konfiguration des Accounts username.
Einige weitere Greeter
Diese Liste zeigt nur Greeter mit Alleinstellungsmerkmalen auf.
| Paket | Darstellung | Startbefehl (command = "...")
|
|---|---|---|
| greetd-agreety | Einfaches Texteingabeprompt, ideal für Systeme ohne GUI | agreety --cmd zsh
|
| greetd-ddlm-gitAUR | Sehr einfacher Greeter der im Framebuffer läuft | ddlm --target labwc
|
| greetd-gtkgreet | Einfacher grafischer Greeter auf GTK-3-Basis | cage -s -- gtkgreet -c labwc
|
| greetd-tuigreet | Texteingabeprompt mit anpassbarem textuellem Design | tuigreet --cmd labwc
|
| nwg-hello | Umfangreicher grafischer Greeter (GTK 3 & Python) | spezielle Konfiguration |
Siehe auch
Weblinks
- Offizielles Git-Repository

- Weitere Greeter im AUR & in extra