Ich habe einige Zeit damit verbracht, meine Einstellungen für mehrere Monitore zu korrigieren. Dies funktioniert einwandfrei, wenn ich angemeldet bin, aber nicht direkt im Anmeldebildschirm oder für andere Benutzer.
Wie lege ich die Anzeigeeinstellungen global für alle Benutzer und den Anmeldebildschirm fest?
sudo cp ~/.config/monitors.xml /var/lib/lightdm/.config/
wie oben vorgeschlagen, + die unten stehende Lösung ausführen , haben Sie Ihr Setup für alle Benutzer (einschließlich neuer Benutzer) genau so, wie Sie es beschreiben.Antworten:
Je nachdem, wie Sie Ihr System eingerichtet haben, ist es möglicherweise so einfach, die
monitors.xml
Datei vom richtig eingerichteten Benutzer auf alle Benutzer zu kopieren :So testen Sie dies für einen Benutzer:
Melden Sie dann TestUser ab, wenn Sie bereits angemeldet sind , melden Sie sich erneut an und prüfen Sie, ob alles korrekt ist.
Der Befehl für alle Benutzer:
Der Befehl für den Anmeldebildschirm:
Der Befehl für alle zukünftigen Benutzer ¹:
Hinweis¹: Alle Benutzer, die Sie in Zukunft erstellen werden
quelle
/etc/xdg
scheint der einzige Trick zu sein, der auch neuen Benutzern das antut.Um Ihre Bildschirmkonfiguration für jeden Benutzer bei der Anmeldung festzulegen (dies ändert nicht die Konfiguration auf dem Anmeldebildschirm), können Sie eine
.desktop
Datei in erstellen/etc/xdg/autostart
Wie geht das
Finden Sie den Namen des Bildschirms heraus, den Sie drehen möchten, indem Sie ausführen
xrandr
. Es werden eine Reihe von Zeilen ausgegeben, von denen einige wie folgt aussehen:Auf diese Weise erhalten Sie Informationen zu den Namen der angeschlossenen Bildschirme.
VGA-0
Erstellen Sie einen Launcher mit (zB)
gedit
:Fügen Sie den folgenden Text in die Datei ein:
In der Zeile ersetzen:
Die Zeichenfolge:
VGA-0
nach dem Namen Ihres (gedrehten) Bildschirms.Wichtige Notizen
In der Schlange
Ich schloss ein
sleep 10
. Dies liegt daran, dassxrandr
Befehle manchmal unterbrochen werden, wenn sie zu früh ausgeführt werden, bevor das Laden des Desktops "abgeschlossen" ist. Möglicherweise müssen Sie die Pause verlängern, oder Sie könnten versuchen, sie wegzulassen. In dem Befehl, da es der Bildschirm dreht sie nach 10 Sekunden nach dem Einloggen in der ist, jeden Benutzers.Der Befehl:
dreht sich der Bildschirm nach links, dass keine Notwendigkeit zu sagen , wenn Sie eine andere Art der Rotation möchten, können Sie entweder wählen
left
,right
,normal
,inverted
(siehe auch hier) .Erläuterung
Sie können Befehle beim Start ausführen (tatsächlich anmelden), indem Sie eine
.desktop
Datei ( Startprogramm ) in platzieren~/.config/autostart
. Dadurch wird der Launcher nur für einen einzelnen Benutzer ausgeführt. Wenn Sie das gleiche tun, aber das Startprogramm in platzieren/etc/xdg/autostart
, der Befehl ausgeführt , wenn alle Benutzer anmeldet, es sei denn , ein bestimmter Benutzer den Launcher für ihn oder sie in Dash> Startup - Anwendungen deaktiviertAußerdem können Sie einfach Ihre lokale
~/.config/monitors.xml
Datei kopieren/var/lib/lightdm/monitors.xml
, um die Einstellungen auch auf dem Anmeldebildschirm zu übernehmen.Imo die Kombination von diesem und der Lösung oben (ein Startprogramm in
/etc/xdg
) ist die einfachste Lösung, um genau das zu erreichen, was Sie für den Anmeldebildschirm und (jeden) Benutzer wollen. Die Lösung eines Launchers in/etc/xdg
ist (sehr) einfach umzukehren oder zu ändern, falls Sie ein anderes Setup vornehmen müssen, ohne viele Dateien auf (jeder) Benutzerebene zu bearbeiten, da sowohl die Einstellungen des Benutzers als auch der Anmeldebildschirm verwaltet werden alle Benutzer auf einmal in zwei einfachen Dateien.quelle
Wollte nur einen Kommentar für jeden hinzufügen, der Probleme mit einem ähnlichen Problem hat. Bei jeder Anmeldung blieb die Auflösung meines alten Monitors (1280 x 1024) erhalten, aber der Anmeldebildschirm und die Gastbenutzeranmeldung verwenden die korrekte Standardgröße von 1680 x 1050.
Ich habe in den letzten vier Monaten viele Posts gelesen, um eine Antwort zu finden. Ich habe in xorg.conf, monitor.xml, lightdm und xrandr nachgeschlagen und andere Vorschläge - aber einige Konfigurationsänderungen sind kompliziert und bergen das Risiko, die Anzeige zu beschädigen vollständig, so endete ich mit der GUI, um die Monitoreinstellungen manuell bei jedem Login zu ändern.
Heute habe ich in meinem .config-Ordner nach der alten Auflösung gesucht.
Das erste Ergebnis war die Datei ~ / .config / autostart / xrandr.desktop, die diese enthält.
also habe ich die datei einfach da rausgeschoben. Und Bingo, ich melde mich an und erhalte die Standardauflösung von 1680x1050.
Ich habe ein paar Stunden lang gesucht und konnte keine nahe genug liegende Antwort finden. Deshalb sollten Sie hier posten, falls es für jemanden nützlich ist.
quelle
Vielleicht möchten Sie etwas anhängen
/etc/lightdm/lightdm.conf
. Hier erstellen wir ein Skript, das einenxrandr
Befehl zum Einrichten Ihrer Anzeige (n) verwendet. Sie können ein grafisches RandR-Tool verwenden, um einen Befehl für Sie zu erstellen, zarandr
. In meinem Fall würde das Skript so aussehen:Sie können dieses Skript
/usr/share
einfügen oder wo immer Sie möchten. Ihr Skript sieht möglicherweise weniger komplex aus, da dies für ein komplexes Dual-Monitor-Setup gilt. Dann hänge etwas an wie:und:
Stellen Sie sicher, dass die Datei ausführbar ist.
Das
session-setup-script
wird die Display für nachdem Sie sich einloggen durch LightDM, unddisplay-setup-script
wird die Anzeige für den Login - Bildschirm ändern.quelle
Auf meinem System (Ubuntu 16.04 ) funktionierte es nicht, einfach
cp
als root (usingsudo
) einzuloggen . Möglicherweise müssen Sie auch sicherstellen, dass der Eigentümer / die Gruppe von Monitoren.xml istlightdm:lightdm
.quelle