Greetd: Unterschied zwischen den Versionen
Dirk (Diskussion | Beiträge) |
Dirk (Diskussion | Beiträge) K →Ablauf |
||
| Zeile 18: | Zeile 18: | ||
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. | 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. | ||
Version vom 28. Februar 2026, 23:11 Uhr
„Greetd“ wurde von Dirk (Diskussion) als in Bearbeitung markiert. Um Bearbeitungskonflikte zu vermeiden, kontaktiere Dirk (Diskussion) bitte, bevor du den Artikel bearbeitest.
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