staging.inyokaproject.org

LightDM

Dieser Artikel wurde für die folgenden Ubuntu-Versionen getestet:


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.

Wiki/Icons/Oxygen/preferences-system-login.png 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.

Lightdm_LoginScreen01.png

Installation

Wiki/Icons/synaptic.png

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

Wiki/Icons/settings.png 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

Wenn man den greeter bzw. die Einflussnahme nicht mag, kann man auch einen anderen greeter installieren.

In den offiziellen Paketquellen gibt es noch

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:

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 Wert unity

  • 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 rechte Maustaste):

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:

  • im Recovery-Modus

  • 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 rechte Maustaste "Als Systemverwalter öffnen".

intern

extern

Diese Revision wurde am 14. Mai 2023 20:16 von fleet_street erstellt.
Die folgenden Schlagworte wurden dem Artikel zugewiesen: Desktop, Xfce, System, MATE, Unity, Budgie