Wenn ich mein Notebook an einen externen Monitor anschließe und diesen als primären Bildschirm einstelle, funktioniert das unter GNOME in der Regel problemlos. Die Oberfläche merkt sich die Monitorauswahl, und beim nächsten Start ist alles wie gewünscht eingerichtet. Was mich jedoch schon lange stört: Der Login-Screen erscheint regelmäßig auf dem falschen Monitor – also nicht dort, wo ich ihn erwarten würde. Selbst wenn ich in den Anzeigeeinstellungen den externen Bildschirm als Hauptanzeige definiert habe, ignoriert GDM diese Vorgabe vollständig.
Besonders ärgerlich wird das, wenn der Monitor, den GDM für den Login verwendet, gar nicht eingeschaltet ist. Dann bleibt der Bildschirm schwarz, und ich tappe im Dunkeln, bis ich das Notebook aufklappe oder den richtigen Monitor finde. Offenbar nutzt GDM eine eigene Konfiguration, die nichts mit den Anzeigeeinstellungen der GNOME-Sitzung zu tun hat. Im Wiki von Arch Linux bin ich auf eine Lösung gestoßen, mit der sich dieses Verhalten zuverlässig korrigieren lässt – und die auch unter anderen Distributionen funktioniert.
Warum GDM den falschen Monitor verwendet
Das Problem tritt typischerweise bei Systemen mit mehreren Bildschirmen auf, besonders wenn proprietäre Grafiktreiber wie von Nvidia im Einsatz sind. GNOME speichert die Bildschirmanordnung pro Nutzer in einer Datei namens monitors.xml
im Verzeichnis ~/.config
. GDM hingegen nutzt eine eigene Konfiguration im Kontext des gdm
-Benutzers. Da diese Datei beim Einrichten des Systems nicht automatisch mit der des Hauptbenutzers synchronisiert wird, kann es passieren, dass der Login-Screen auf dem falschen Bildschirm erscheint – und dort auch bleibt.
Manuelle Lösung: Anzeigeeinstellungen übernehmen
Der einfachste Weg, GDM die richtige Monitorkonfiguration beizubringen, ist das Kopieren der monitors.xml
-Datei aus dem Benutzerverzeichnis in das Konfigurationsverzeichnis von GDM.
- Stellt zunächst die gewünschte Bildschirmkonfiguration in GNOME ein. Öffnet dazu die Anzeigeeinstellungen über:
$ gnome-control-center display
Wählt den bevorzugten Hauptbildschirm aus und arrangiert die Monitore nach Wunsch. Die Änderungen werden automatisch in eurem Homeverzeichnis unter ~/.config/monitors.xml
gespeichert.
- Kopiert die Datei in das Home-Verzeichnis von GDM:
$ sudo install -o root -m 644 ~/.config/monitors.xml ~gdm/.config/
Das Home-Verzeichnis des GDM-Nutzers ~gdm
wird dabei korrekt vom System interpretiert.
- Startet GDM neu, damit die neue Konfiguration übernommen wird – Achtung: Dabei wird eure aktuelle GNOME-Sitzung ohne Vorwarnung beendet:
$ sudo systemctl restart gdm
Nach dem Neustart sollte der Login-Screen auf dem gewünschten Monitor erscheinen.
Automatisierte Lösung: Mit einem Systemd-Service
Wenn Ihr häufiger mit unterschiedlichen Monitor-Setups arbeitet oder einfach eine dauerhafte Lösung bevorzugt, könnt Ihr das Kopieren der Datei beim Systemstart automatisieren.
- Legt das Verzeichnis für den systemd-Override an:
$ sudo mkdir -p /etc/systemd/system/gdm.service.d
- Erstellt eine neue Konfigurationsdatei
override.conf
mit folgendem Inhalt:
[Service]
ExecStartPre=/bin/sh -c 'install -o root -m 644 /home/EUER_NUTZER/.config/monitors.xml ~gdm/.config/monitors.xml || true'
Ersetzt EUER_NUTZER
durch euren tatsächlichen Benutzernamen.
- Ladet die systemd-Konfiguration neu:
$ sudo systemctl daemon-reexec
Beim nächsten Start von GDM wird die Datei automatisch übernommen.
Noch einfacher: Mit den grafischen GDM-Settings
Ganz zum Schluss gibt es noch eine grafische Alternative. Mit dem Programm GDM Settings, oder in der deutschen Übersetzung GDM Einstellungen, könnt Ihr viele Details des Loginmanagers konfigurieren – darunter eben auch die Bildschirmeinstellungen übernehmen. Ganz einfach per Mausklick und ohne Kommandozeile.
Das Programm ist kein offizielles GNOME-Tool und befindet sich meist auch nicht in den Paketquellen. Ihr könnt es aber via Flathub problemlos installieren. Achtet beim ersten Start auf die Warnung: Nutzung auf eigene Gefahr. Viele Optionen ändern Systemdateien, was im Einzelfall zu Problemen führen kann – aber in der Regel funktioniert alles wie gewünscht.
Zum Übernehmen der Bildschirmkonfiguration des aktuell angemeldeten Nutzers öffnet Ihr in der Seitenleiste den Punkt Anzeige und klickt dann auf Aktuelle Bildschirmeinstellungen anwenden. Eine automatische Übernahme bei wechselnden Setups gibt es hier allerdings nicht. Wenn Ihr euer Notebook regelmäßig zwischen Arbeitsplatz und Homeoffice mit jeweils unterschiedlicher Monitorkonfiguration nutzt, ist die oben beschriebene systemd-Variante möglicherweise die bessere Wahl.
Uih, Vielen Dank für den Tipp. Das funktioniert.