LightDM
Dieser Artikel wurde für die folgenden Ubuntu-Versionen getestet:
Ubuntu 22.04 Jammy Jellyfish
Du möchtest den Artikel für eine weitere Ubuntu-Version testen? Mitarbeit im Wiki ist immer willkommen! Dazu sind die Hinweise zum Testen von Artikeln zu beachten.
Zum Verständnis dieses Artikels sind folgende Seiten hilfreich:
LightDM 🇬🇧 (Light Display Manager) ist ein Displaymanager, auch Loginmanager oder Anmeldefenster genannt, und bietet eine grafische Anmeldung vor dem Starten einer Desktop-Umgebung.
Folgende Derivate haben LightDM schon installiert:
Derivat | greeter |
Ubuntu Budgie | slick-greeter |
Ubuntu MATE | arctica-greeter |
Ubuntu Unity | unity-greeter |
Xubuntu | lightdm-gtk-greeter |
Auch unter Ubuntu, Kubuntu, und Ubuntu Studio ist ein Ersatz des Displaymanagers durch LightDM möglich, jedoch entfallen dann die zusätzlichen Funktionalitäten von dessen Oberfläche. Zu Lubuntu liegen keine Berichte über Einschränkungen vor, wenn auch hier LightDM eingesetzt wird. Auf der Projektseite sind zwar spezielle greeter für KDE und LXqt genannt, jedoch ist das erste Projekt eingestellt und das zweite unbekannt verzogen – bzw. beide in eine Vielzahl von Forks zersplittert.
LightDM wird federführend durch Canonical entwickelt.
Installation¶
Möchte man das Programm nachinstallieren, benötigt man das folgende Paket [1]:
lightdm (universe)
Befehl zum Installieren der Pakete:
sudo apt-get install lightdm
Oder mit apturl installieren, Link: apt://lightdm
Dieses Paket allein reicht allerdings nicht aus, es wird zusätzlich noch die entsprechende Komponente greeter benötigt. Neben den greetern, die oben in der Tabelle schon genannt sind, existiert noch der ukui-greeter des chinesischen Ubuntu Kylin, der auf Qt5 basiert (Vielleicht harmoniert der besser mit Kubuntu bzw. Lubuntu). Sollte man sich für letzgenannten greeter entscheiden, muss man noch eine Konfigurationtsdatei für user-session=
anlegen und an den Wert anpassen (Standard: user-session=ukui
trifft nicht zu).
Konfiguration¶
Systemweite Vorgaben finden sich /usr/share/lightdm/lightdm.conf.d/. Dort nimmt man sinnigerweise keine Änderungen vor, weil diese bei einer Aktualisierung über die Paketverwaltung überschrieben werden können.
Um eigene Einstellungen umzusetzen, bearbeitet oder erstellt man im Konfigurationsverzeichnis [2] /etc/lightdm/lightdm.conf.d/ eine Textdatei mit einem Texteditor [3] und Root-Rechten [4]. Man benennt sie bevorzugt nach dem Schema XX-ZWECK.conf, also z.B. /etc/lightdm/lightdm.conf.d/90-autologin.conf für eine automatische Anmeldung.
Statt jedesmal neu zu beschreiben, wo die Änderung vorgenommen wird, wird im nachfolgenden nur von Konfiguratinsdatei geschrieben. Ebenso wird darauf verzichtet jedesmal von einem erforderlichen Neustart, damit die Änderungen wirksam werden, zu schreiben.
Experten-Info:
Statt dieser recht aufwendigen Methode mit mehreren Konfigurationsdateien kann auch einfach weiterhin die Datei /etc/lightdm/lightdm.conf für benutzerdefinierte Anpassungen verwendet werden.
Prinzipiell sind die Konfigurationsdateien in [Abschnitte]
gegliedert (vgl.Tabelle unten), die jeweils ein oder mehrere Zeilen in der Form Option=Wert
enthalten. Angaben hinter dem Kommentarzeichen # werden nicht berücksichtigt. Zuerst ein einfaches Beispiel, wie es von Ubuntu Budgie verwendet wird:
1 2 3 | [Seat:*] user-session=budgie-desktop allow-guest=false |
Darüber hinaus sind weitere Abschnitte in der Form [Seat:n]
möglich. Diese entsprechen zusätzlichen XServer-Sitzungen, werden einfach durchnummeriert und überschreiben die Vorgaben aus [SeatDefaults]
. Beispiel: seats=Seat:0, Seat:1
(siehe auch Starten von zwei graphischen Sitzungen).
Automatische Anmeldung¶
Achtung!
Wer ein verschlüsseltes Homeverzeichnis verwendet, sollte auf eine automatische Anmeldung verzichten, weil dadurch der Aspekt der Datensicherheit unterlaufen und die Funktionsweise erheblich beeinträchtigt wird.
aktivieren¶
Die automatische Anmeldung kann man mit Bordmitteln einrichten, indem man eine Konfigurationsdatei erstellen bzw. bearbeiten [3] [4].
1 2 3 4 5 | [Seat:*] autologin-user=ubuntuuser autologin-user-timeout=0 #autologin-session= (optional; je nach greeter) #user-session=ubuntu (otional) |
Als ubuntuuser
wird das gewünschte Benutzerkonto eingetragen, hinter …timeout
ggf. eine zeitliche Verzögerung in Sekunden.
Das Eintragen einer …session
ist optional, da einerseits meist nur eine Session zur Verfügung steht und diese andererseits bereits von AccountsService gespeichert wurde.
deaktivieren¶
Hat man bei der Installation die automatische Anmeldung aktiviert oder den eigenen Dateinamen vergessen, kann man entweder alle Dateien unterhalb /etc/lightdm/ manuell durchsuchen oder man nimmt schon einen Ausblick auf Konfiguration überblicken.
In der gefundenen Konfigurationsdatei fügt man am Anfang der Zeilen autologin…
ein „#“ ein und wandelt sie so in einen Kommentar um, d. h. der Computer interessiert sich nicht mehr dafür. Sollte man sich später doch wieder für die automatisch Anmeldung entscheiden, braucht man nur das „#“ wieder entfernen.
Benutzerliste¶
Normalerweise ist die Anzeige der auf dem System vorhandenen Benutzer aktiv. Da dies unter Umständen sicherheitsrelevant ist, kann man die Benutzerliste deaktivieren und gleichzeitig die manuelle Anmeldung aktivieren:
1 2 | [Seat:*] greeter-hide-users=true |
einzelne Benutzer ausblenden¶
Bei allen Ubuntu-Derivaten ist seit Jahren accountsservice installiert und das hat den Vorrang gegenüber der immer noch vorhandene Datei /etc/ligthdm/users.conf. Möchte man nur einzelne Benutzer ausblenden, so editiert [3] [4] man dessen Datei /var/lib/AccountsService/users/benutzername.
1 | SystemAccount=true |
Soll diesen ausgeblendeten Benutzern dennoch die Möglichkeit gegeben werden sich grafisch anzumelden, so erstallt man eine Konfigurationdatei mit folgendem Inhalt:
1 2 | [Seat:*] greeter-show-manual-login=true |
Aussehen¶
Das Erscheinungssbild ist zunächst abhängig vom eingestzten greeter. Wie man auf das Aussehen Einfluss nehmen kann ist beschrieben unter
LightDM-GTK+ Einstellungseditor - grafische Konfiguration in Verbindung mit lightdm-gtk-greeter
LightDM Settings - grafische Oberfläche in Verbindung mit slick-greeter
Howto/arctica-greeter konfigurieren - manuelle Anpassung in Verbindung mit arctica-greeter
Für untiy-greeter gilt fast das gleiche wie für arctica-greeter, wobei das Schema
com.canonical.unity-greeter
heißt.
Wenn man den greeter bzw. die Einflussnahme nicht mag, kann man auch einen anderen greeter installieren.
In den offiziellen Paketquellen gibt es noch
Für unity-greeter
unity-greeter-badges, (universe)
Für arctica-greeter
arctica-greeter-remote-logon, (universe)
arctica-greeter-theme-debian, (universe)
arctica-greeter-theme-debian-futureprototype, (universe)
arctica-greeter-theme-debian-softwaves, (universe)
Testmodus¶
Die Einstellungen, die lediglich das Aussehen betreffen, kann man sich auch ansehen ohne jedes Mal den Rechner neu starten zu müssen:
lightdm --test-mode
Voraussetzung ist die Installation des folgenden Pakets:
xserver-xephyr (siehe Xephyr)
Befehl zum Installieren der Pakete:
sudo apt-get install xserver-xephyr
Oder mit apturl installieren, Link: apt://xserver-xephyr
Der Testmodus wird mit Strg + C beendet.
Optionen¶
Nachfolgend eine Liste der möglichen Abschnitte und Wertepaare für die Konfigurationsdatei der Version 1.30 vom LightDM. Eine vollständige Auflistung aller möglichen Optionen erhält man mit dem Befehl:
zless /usr/share/doc/lightdm/lightdm.conf.gz
lightdm.conf¶
lightdm.conf | |
[LightDM] | allgemeine Angaben |
start-default-seat= | Voreinstellungen aktiviert (true ) oder deaktiviert (false ). Standard: true |
greeter-user= | Benutzer, unter dem der Greeter ausgeführt wird. Standard: lightdm |
minimum-display-number=n | ?? Standard: 0 . |
minimum-vt=n | erstes virtuelles Terminal. Standard: 7 |
user-authority-in-system-dir= | Standard: false |
guest-account-script= | Standard: guest-account |
log-directory= | Standard: /var/log/lightdm |
sessions-directory | Standard: /usr/share/xsessions |
greeters-directory | Standard: /usr/share/xgreeters |
[Seat:*] | Standardeinstellungen |
xserver-command= | Standard: X |
xserver-layout= | |
xserver-config= | |
xserver-allow-tcp= | Standard: false |
greeter-session=... | Welche greeter installiert sind, kann man unter /usr/share/xgreeters/ nachsehen (siehe auch Aussehen) |
greeter-hide-users= | Benutzerliste de-/aktivieren |
greeter-show-manual-login= | Anzeige der manuellen Eingabemaske für den Benutzernamen. Standard: false |
user-session=... | Sitzungsauswahl |
allow-guest= | Standard: true |
guest-session= | (bisher nicht implementiert) |
autologin-user=... | Siehe auch Automatische Anmeldung. |
autologin-user-timeout= | Vorgabe: 0 |
autologin-session= | (wird nicht von allen greetern ausgewertet) |
autologin-guest= | Standard: deaktiviert (false ) |
session-wrapper= | Standard: lightdm-session |
exit-on-failure= | Displaymanager bei Fehlern beenden. Standard: false |
xdmcp-manager= | Programm |
xdmcp-port= | Standard: 177 |
xdmcp-key= | Schlüssel |
An-/Abmelde-Skripte | |
display-setup-script= | Skript, das beim Start der Anmeldungssitzung ausgeführt wird (mit Rootrechten!) |
greeter-setup-script= | Skript, das beim Start der Anmeldung ausgeführt wird (mit Rootrechten!) Beispiel: greeter-setup-script=/usr/bin/numlockx on (Nummernblock aktivieren (Abschnitt „Anmeldebildschirm“)) |
session-setup-script= | Skript, das beim Start einer Benutzersitzung ausgeführt wird (mit Rootrechten!) Beispiel: /usr/share/lightdm/guest-session/guest-session-setup.sh |
session-cleanup-script= | Skript, das beim Beenden einer Benutzersitzung ausgeführt wird (mit Rootrechten) Beispiel: /usr/share/lightdm/guest-session/guest-session-cleanup.sh |
[XDMCPServer] | Anmeldung von entfernten Rechnern |
enabled= | aktiviert (true ) oder deaktiviert (false ). Standard: (false ) |
port=n | Standard: 177 |
key=0x0123456789ABCD | 56-Bit DES Schlüssel in hexadezimaler Schreibweise für XDM-AUTHENTICATION-1 oder leer, wenn nicht genutzt. Alternativ ein beliebiger Begriff, dessen 7 erste Stellen verwendet werden. |
[VNCServer] | Anmeldung von entfernten Rechnern via VNC |
enabled= | aktiviert (true ) oder deaktiviert (false ). Standard: (false ) |
command= | Standard: Xvnc |
port=xxx | Standard: 5900 |
listen-address= | |
width= | Standard: 1024 |
height= | Standard: 768 |
depth= | Standard: 8 |
keys.conf¶
keys.conf | |
[keyring] | Angaben zum Schlüsselbund |
a=0x0123456789ABCD | Schlüssel in hexadezimaler Schreibweise |
b=... | weiterer Schlüssel (secret ) |
Experten-Info:
Im Vergleich zur Version 1.26 (18.04) sind folgende Keys bzw. Werte entfallen:
für
type
der mögliche Wertunity
xserver-backend
(mir)unity-compositor-command
unity-compositor-timeout
Konfiguration überblicken¶
Gerade bei mehreren Konfigurationsdateien, den systemweiten Vorgaben aus den Paketen und den eigenen Einstellungen unterhalb /etc/lightdm, ist es praktisch, wenn man sich einen Überblick über die effektiven Werte verschaffen kann. Die geschieht im Terminal durch Ausführen von:
lightdm --show-config
Hier bspw. die Ausgabe aus einem Xubuntu 22.04 mit einer bei der Installation aktivierter automatischen Anmeldung.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 | ubuntuuser@xubuntu ~:$ lightdm --show-config [Seat:*] I allow-guest=false K greeter-wrapper=/usr/lib/lightdm/lightdm-greeter-session L guest-wrapper=/usr/lib/lightdm/lightdm-guest-session M xserver-command=X -core N greeter-setup-script=xubuntu-numlockx O greeter-session=lightdm-gtk-greeter P user-session=xubuntu Q autologin-guest=false Q autologin-user=ubuntuuser Q autologin-user-timeout=0 [LightDM] J backup-logs=false Sources: I /usr/share/lightdm/lightdm.conf.d/50-disable-guest.conf J /usr/share/lightdm/lightdm.conf.d/50-disable-log-backup.conf K /usr/share/lightdm/lightdm.conf.d/50-greeter-wrapper.conf L /usr/share/lightdm/lightdm.conf.d/50-guest-wrapper.conf M /usr/share/lightdm/lightdm.conf.d/50-xserver-command.conf N /usr/share/lightdm/lightdm.conf.d/50-xubuntu-numlock.conf O /usr/share/lightdm/lightdm.conf.d/60-lightdm-gtk-greeter.conf P /usr/share/lightdm/lightdm.conf.d/60-xubuntu.conf I /usr/share/lightdm/lightdm.conf.d/50-disable-guest.conf J /usr/share/lightdm/lightdm.conf.d/50-disable-log-backup.conf K /usr/share/lightdm/lightdm.conf.d/50-greeter-wrapper.conf L /usr/share/lightdm/lightdm.conf.d/50-guest-wrapper.conf M /usr/share/lightdm/lightdm.conf.d/50-xserver-command.conf N /usr/share/lightdm/lightdm.conf.d/50-xubuntu-numlock.conf O /usr/share/lightdm/lightdm.conf.d/60-lightdm-gtk-greeter.conf P /usr/share/lightdm/lightdm.conf.d/60-xubuntu.conf Q /etc/lightdm/lightdm.conf ubuntuuser@xubuntu ~:$ |
Im oberen Teil der Ausgabe sind die effektiven Werte gelistet, im unteren die Dateien, in denen die Konfiguration zusammengesucht wurde. Der großgeschriebene Buchstabe am Zeilenanfang gibt den Hinweis, welche Konfiguration in welcher Datei steht. (Warum Dateien aus /usr doppelt aufgeführt werden, weiß hoffentlich der Programmierer.) Hier nochmal der Hinweis, dass man die Dateien unterhalb /usr nicht bearbeiten sollte (siehe Konfiguration).
Experten-Info:
Die Ausgabe von lightdm --show-config
lässt sich nicht mittels | grep
filtern, weil auf stderr
ausgegeben wird (vgl. Diskussion zum Artikel).
Verwendung¶
Die Benutzung von LightDM unterscheidet sich nicht von der anderer Displaymanager. Vor der Anmeldung hat man die Möglichkeit rechts oben in der Leiste die Einstellungen zur Barrierefreiheit, des Netzwerkes, der Lautstärke sowie des Tastaturlayouts aufzurufen. Zusätzlich kann man hier den Rechner auch ausschalten oder neustarten. Falls verfügbar findet sich die Auswahl einer anderen Sitzung (die gewünschte Desktop-Umgebung) ebenso hier oder je nach greeter neben dem Benutzernamen.
Zur Anmeldung wählt man aus der Liste den Benutzer aus (oder gibt ggf. den Benutzernamen ein, bestätigt mit ⏎ ), gibt das Kennwort ein und bestätigt mit
Remote-Login¶
In der Standardeinstellung wird kein Remote-Login angezeigt. Dieser ist jedoch weiterhin möglich, um sich direkt über das Netzwerk an verschiedenen Systemen aus der Ferne (remote) anmelden kann. Wer diese Funktion benötigt, verwendet die Option:
1 | greeter-show-remote-login=true |
im Abschnitt [Seat:*]
in der Konfigurationsdatei.
Problembehebung¶
Displaymanager ändern¶
Um bei Problemen den Displaymanager (wieder) auszutauschen, kann man den folgenden Befehl nutzen, der in diesem Beispiel einen installierten GDM (re-)aktiviert:
sudo dpkg-reconfigure gdm
Man kann die Änderung des Displaymanagers alternativ auch in der Datei /etc/X11/default-display-manager vornehmen. Dort ist das jeweilige Programm inklusive des vollständigen Pfads einzutragen.
Beenden und (Neu-)Starten samt XServer¶
Manchmal kommt es vor, dass man bestimmte Aufgaben ohne laufenden XServer bzw. auf der Konsole durchführen möchte. Mit den Tastenkombinationen Tasten Strg + Alt + F1 bis Strg + Alt + F6 kann man in sechs unabhängige Textkonsolen wechseln. Befindet man sich erst einmal auf einer Textkonsole, reicht beispielsweise Alt + F2 , um zur zweiten Textkonsole zu wechseln. Zurück zur laufenden Sitzung / graphischen Anmeldung gelangt man mit Alt + F7 oder versionsabhängig auch mit Alt + F8 .
Von einer virtuellen Textkonsole (ttyX
) aus kann man LightDM mitsamt Xserver wie folgt beenden, starten oder neu starten.
Aktion | Befehl |
Beenden | sudo systemctl stop lightdm |
Starten | sudo systemctl start lightdm |
Neustarten | sudo systemctl restart lightdm |
Starten von zwei graphischen Sitzungen¶
Es ist möglich, LightDM so zu konfigurieren, dass zwei graphische Sitzungen gestartet werden. Dies kann z.B. für Media-Server von Interesse sein. In die Konfigurationsdatei fügt man dazu folgende Einträge hinzu:
1 2 3 4 5 6 7 8 9 10 | [LightDM] seats=Seat:0, Seat:1 ... [Seat:0] user-session=ubuntu autologin-user= [Seat:1] user-session=ubuntu autologin-user= |
Die Einstellungen in den jeweiligen [Seat:x]
-Abschnitten überschreiben Konfigurationseinstellungen des Abschnitts [Seat:*]
für die jeweilige Sitzung. Die Ausgabe der zweiten Sitzung erfolgt auf dem zweiten Bildschirm. Ist nur ein Monitor angeschlossen, kann mit
Strg +
Alt +
F8 und
Strg +
Alt +
F7 zwischen den Sitzungen umgeschaltet werden.
Hintergrundbild¶
Unter Unity wird der Hintergrund des Anmeldebildschirms automatisch an das eigene Hintergrundbild angepasst. Das funktioniert aber nur, wenn die Bilder direkt unterhalb von ~/Bilder/ im Homeverzeichnis (nicht in einem Unterverzeichnis!) oder im Ordner /usr/share/backgrounds/ liegen. Verantwortlich für dieses Verhalten ist der Eintrag "draw-usr-backgrounds=true
". Zur Konfiguration für Unity siehe oben.
Sollte weder das automatische Übernehmen des Bildes noch ein manueller Eintrag in der Konfigurationsdatei funktionieren, dann gibt es noch die Möglichkeit das Hintergrundbild von LightDM mit folgendem D-Bus-Befehl zu ändern:
dbus-send --system --print-reply --dest=org.freedesktop.Accounts /org/freedesktop/Accounts/User$(id -u) org.freedesktop.Accounts.User.SetBackgroundFile string:/PFAD/ZUM/HINDERGRUNDBILD.JPG|PNG
Dabei ist /PFAD/ZUM/HINDERGRUNDBILD.JPG|PNG
am Ende des Befehls durch den korrekten Pfad und Dateinamen zu ersetzen.
Nutzt man ein verschlüsseltes Homeverzeichnis, kann LightDM die verschlüsselten Daten des Benutzers (logischerweise) nicht lesen, da der Benutzer lightdm
keinen Zugriff auf diese Ressourcen hat.
Zum Deaktivieren der Verwendung der Benutzerhintergrundbilder fügt man ins Terminal folgendes ein:
sudo setpriv --reuid=lightdm --reset-env dbus-launch gsettings set com.canonical.unity-greeter draw-user-backgrounds false
Akustische Rückmeldung¶
voreingestellter Klang¶
Bei Ubuntu MATE und Ubuntu Unity erklingt bei Erscheinen der grafischen Anmeldung ein Art Bongowirbel, um zu signalisieren, dass der Rechner hochgefahren und einsatzbereit ist. Diesen Klang kann man oben rechts in der Leiste über die Lautstärke bis hin zur Stummschaltung regulieren.
Möchte man den Klang richtig deaktivieren, z. B. weil man einen eigenen einstellen möchte, so kopiert man einen der folgenden, kompletten Befehle am Besten und ins Terminal einfügen (z. B. per ):
Für arctica-greeter
sudo setpriv --reuid=lightdm --reset-env dbus-launch gsettings set org.ArcticaProject.arctica-greeter play-ready-sound false
Für unity-greeter
sudo setpriv --reuid=lightdm --reset-env dbus-launch gsettings set com.canonical.unity-greeter play-ready-sound false
Zur Erklärung siehe Howto: arctica-greeter konfigurieren (Abschnitt: Methode C – Änderung als Benutzer lightdm). Eine dort beschriebene, alternative Methode könnte angepasst auch verwendet werden.
benutzerdefinierter Klang¶
Möchte einen eigenen Klang bei Erscheinen der grafischen Anmeldung ertönen lassen, so findet sich eine allgemeine Anleitung, die nicht nur bei Xubuntu funktioniert, im Artikel Xfce Systemklänge (Abschnitt „LightDM“).
LightDM startet nicht auf SSD¶
Auf Rechnern mit sehr kurzem Startvorgang kann es zu Problemen mit LightDM kommen, siehe 969489. Ein Workaround ist das erzwungene Verlangsamen des Starts von LightDM. Dazu muss die Datei /etc/init/lightdm.conf mit einem Editor [2] mit Root-Rechten [3] bearbeitet werden. Vor der Zeile:
1 | exec /usr/bin/lightdm
|
wird dazu folgende Zeile eingefügt, um eine Verzögerung von 2 Sekunden (bei Bedarf erhöhen) zu erhalten:
1 | sleep 2
|
Anmeldung scheitert ("failed to load session")¶
Eine Problembeschreibung und -lösung befindet sich im Artikel Displaymanager (Abschnitt „Anmeldung-scheitert-failed-to-load-session“).
Anmeldung wird verweigert, obwohl Passwort korrekt¶
Dann liegt das meistens daran, dass der Warnhinweis zur Speicherplatzbelegung ignoriert oder übersehen wurde. Dies ist keine Fehlfunktion, sondern ein Sicherheitsmechasnismus. Statt den Benutzer in das Verderben ungesicherter Daten rennen zu lassen, wird hier abgeriegelt.
Dies überprüfen und ggf. Platz schaffen, kann man auf verschiedenen Wegen:
auf der virtuellen Konsole
von einem Livesystem (Installationsmedium) aus; praktischerweise lassen sich bei den meisten Geschmacksrichtungen, die standardmäßig LightDM mitbringen (Ausnahme: Xubuntu), die Dateimanager auch per "Als Systemverwalter öffnen".
Links¶
intern¶
LightDM-GTK+ Einstellungseditor - grafische Konfiguration von LightDM
LightDM Settings - grafische Oberfläche zum Konfigurieren von LightDM
Displaymanager Übersichtsartikel
extern¶
LightDM 🇬🇧 - Ubuntu-Wiki
LightDM Reference Manual 🇬🇧 für Entwickler
LightDM 🇬🇧 - Archlinux Wiki