Gelegentlich, normalerweise nach einem fehlerhaften Neustart meines Computers, ist meine Anmeldebildschirmauflösung nicht die Standardauflösung von 1440 x 900, aber ich denke 1600 x 900. Jetzt habe ich diesen Monitor, der wirklich schlecht mit Auflösungen umgehen kann, für die er nicht entwickelt wurde, und auf dem Bildschirm wird ein albernes Kästchen mit einer "falschen Auflösung" angezeigt.
Gibt es eine Möglichkeit, den Anmeldebildschirm mit einer Auflösung von 1440 x 900 zu laden, egal was passiert? Ich verwende Ubuntu 11.10 mit Unity und LightDM.
lightdm
display-resolution
Ruben Bakker
quelle
quelle
Antworten:
Hierfür können Sie ein Skript erstellen (Quelle LightDM Resolution ).
terminal
Ihren Unity-Gedankenstrich ein, um die Option anzuzeigen, oder drücken Sie Ctrl+ Alt+TGeben / kopieren Sie diesen Befehl, um Ihre Anzeigedetails anzuzeigen:
Wenn Sie nur einen Monitor haben, sehen Sie in der Ausgabe eine Zeile wie die folgende (wahrscheinlich mit einigen unterschiedlichen Werten, der Bezeichner zu Beginn, nach dem wir suchen):
Die Bildschirmkennung lautet in diesem Fall DVI-0
Öffnen Sie Ihren bevorzugten Texteditor, verwenden Sie gedit für dieses Beispiel, drücken Sie Alt+ F2und geben Sie Folgendes ein
gedit
Tippe / kopiere dies in:
Speichern Sie dies auf Ihrem Desktop als
lightdmxrandr.sh
Sie können das Skript testen, bevor wir es in die Praxis umsetzen. Zurück im Terminal navigieren Sie zu dem Ort, an dem wir es gerade gespeichert haben:
Jetzt müssen wir es ausführbar machen:
Führen Sie es jetzt aus:
(Wenn Ihr Bildschirm nach dem Anmelden automatisch korrigiert wird, werden Sie wahrscheinlich keinen Unterschied feststellen. Daher möchten Sie möglicherweise eine andere Testauflösung verwenden, aber Sie wissen, dass diese beim Testen funktioniert.)
Bewegen wir nun das kleine Skript, das wir erstellt haben:
Wenn Sie nicht verwenden
sudo
, wird möglicherweise ein Berechtigungsfehler angezeigt (ich verwende diesen Ordner aus persönlichen Gründen).Wir müssen dies jetzt in lightdm ausführen und zum richtigen Ordner navigieren:
Öffnen Sie die lightdm conf-Datei:
Fügen Sie nun nach der letzten Zeile die Anweisung zum Ausführen Ihres Skripts hinzu und speichern Sie:
Jetzt neu starten und das sollte die richtige Auflösung auf Ihrem lightdm-Anmeldebildschirm einstellen.
(Diese Anweisungen sehen zwar lang aus, dauern aber nicht lange.)
quelle
chown root:root
auch sein?Ich habe eine sehr einfache Problemumgehung gefunden, die für mich mit 13.04 perfekt funktioniert. ( Update : jetzt 13.10) auf einem Laptop mit einem 24 "externen Bildschirm, der nicht permanent verbunden ist.
Ich kopiere einfach von hier
Da ich meine Monitore bereits richtig konfiguriert hatte, musste ich nur Schritt 3 ausführen.
Einige andere Antworten, die hier gegeben wurden, haben für mich funktioniert, aber nur in einem bestimmten Szenario, bei dem das Risiko eines unbrauchbaren Systems in anderen Szenarien besteht (LOW GRAPHICS MODE ERROR). Zum Beispiel, wenn der externe Monitor permanent verbunden ist (Antwort von @captain_G akzeptiert) oder wenn immer dasselbe Gerät an den für den externen Monitor verwendeten Ausgang angeschlossen ist (Skript von @Axlrod). Es scheint, dass die Antwort von @ MarcoV die allgemeinste Lösung ist, sie beinhaltet jedoch immer noch Skriptregeln.
quelle
$ sudo ln ~/.config/monitors.xml /var/lib/lightdm/.config/monitors.xml
(Nein, symbolische Links funktionieren NICHT.)monitors.xml
? Ich benutze XFCE und diese Datei ist 2 Jahre alt und völlig veraltet. Ich kann keine ähnliche Datei finden.Anstatt ein Skript zu erstellen, können Sie einfach
/etc/lightdm/lightdm.conf
eine Zeile wie die folgende hinzufügen :Stellen Sie vor dem Einfügen sicher, dass der Befehl funktioniert, da lightdm bei einem falschen Befehl nicht gestartet wird.
quelle
xrand
Befehle sagen:warning: output default not found; ignoring
Für ein Multi-Monitor-Setup, bei dem Sie möglicherweise Ihren Laptop trennen und ohne verwenden, ist hier eine einfache Lösung:
Lauf:
Holen Sie sich die Geräte, die Sie Laptop verwenden, ist in der Regel LVDS1, und für mich habe ich einen DP2 (Displayport 2), es könnte HDMI1 oder etwas anderes sein, finden Sie nur diejenigen mit Auflösungen neben ihnen aufgeführt.
Erstellen Sie diese kleine Bash-Datei:
Ersetzen Sie LVDS1 durch Ihren Laptop-Monitoranschluss.
Ersetzen Sie DP2 durch Ihren externen Monitoranschluss.
Legen Sie das Bash-Skript in / usr / bin / local / ab.
chmod + x das Skript
Bearbeiten Sie die Datei /etc/lightdm/lightdm.conf
Hinzufügen
Starten Sie neu.
Die Auflösungsänderung erfolgt nur, wenn Sie sich jetzt tatsächlich an diesem Bildschirm befinden.
Wenn Sie mehrere Stellen mit unterschiedlichen Monitoren / Auflösungen an demselben Anschluss haben, müssen Sie mehr Informationen in Ihr Bash-Skript einfügen.
quelle
Das obige Axlrod-Skript wurde nur geringfügig verbessert .
Sie müssen lediglich angeben, welcher Monitor primär verwendet werden soll und welcher Ihr Laptop-Bildschirm (LVDS) ist.
quelle
dann in der Datei:
Speichern und schließen. Die Werte wurden von Befehl erhalten
xrandr -q
.VGA1
ist der Name meines Connectors und1152x864
der Name der Auflösung.Dies funktioniert für Xubuntu 16.04. Es wird eine bevorzugte Auflösung festgelegt und ich kann die Auflösung des Anmeldebildschirms festlegen, anstatt standardmäßig die höchste unterstützte Auflösung zu verwenden.
Geändert von Antworten hier
quelle
Was ich als nützlich empfunden habe, war ein Beitrag auf der Ubuntu-Guide-Website . Ich habe so viele Dinge in Ubuntu 11.10 ausprobiert und sogar versucht, einfach GNOME Classic zu verwenden. Die Auflösung war immer 1024x768 und wenn ich sie manuell auf 1440x900 einstellte, war sie "virtuell", ich musste mit der Maus scrollen, um den gesamten Desktop zu erkunden, der sich außerhalb der tatsächlichen Bildschirmabmessungen befand.
Im Terminal habe ich diesen Befehl ausgeführt:
Das Laden des Texteditors kann eine Weile dauern. Sobald es geladen war, habe ich die Zeile bearbeitet
und änderte es zu:
Denken Sie daran, auszuführen
update-grub
, um die Änderungen zu übernehmen.Danach habe ich versucht, die VESA-Treiber neu zu installieren (auf diesem Computer habe ich eine GeForce 260 GTX). Ich weiß, dass der bessere Weg ist, offizielle Nvidia-Treiber zu verwenden, aber bei deren Verwendung war das Problem immer das gleiche ... Sicher, ich denke, jetzt wird die Leistung schlechter.
Beim Überprüfen des Nvidia X Server-Einstellungsfelds habe ich überprüft, ob meine Auflösung hinzugefügt wurde, und beim Wechseln darauf wurde der Bildschirm richtig angezeigt. Eigentlich benutze ich Ubuntu 11.10 aber in GNOME Classic.
Ich bin ein Linux-Neuling und hoffe, dass ich anständige Dinge geschrieben habe.
quelle
Machen Sie nichts mit Skripten oder Konfigurationsdateien, die die Möglichkeit bieten, Ihren Anmeldebildschirm unbrauchbar zu machen!
Melden Sie sich stattdessen an und legen Sie Ihre bevorzugten Bildschirmeinstellungen * fest. Führen Sie dann den folgenden Befehl aus:
Ihre Login-Auflösung spiegelt nun immer die Einstellungen des Benutzers wider, bei dem Sie sich gerade angemeldet haben.
* Vergiss nicht auf "Übernehmen" zu klicken
quelle
Axelrods Skript ist etwas mangelhaft, da ein Grep für "connected" auch alle "disconnected" -Displays erfasst ... nicht das, was wir wollen ...
Darüber hinaus ist die Verwendung von grep mit awk und tail usw ... verschwenderisch umständlich, und ich würde folgendes vorschlagen. Außerdem ändern wir in get_resolution den Rückgabewert auf 1, da ein Rückgabewert von Null normalerweise auf einen Mangel an Fehlern hinweist. Daher verwenden wir 1, wenn der erste Parameter fehlt.
Zusammenfassend lässt sich festhalten, dass durch die Instanziierung des Hauptteils des Skripts eine Funktion aufgerufen und zu einem späteren Zeitpunkt ausgeführt werden kann, wenn dies in einer Funktionsbibliothek erforderlich ist. Außerdem können lokale Variablen verwendet werden, die nicht deaktiviert werden müssen.
quelle
So habe ich es in Xubuntu 16.04 zum Laufen gebracht.
Für die gewünschte Auflösung müssen Sie einen String mitbringen. Dies ist innerhalb des Ergebnisses des Befehls:
Wählen Sie nun das Teil mit der gewünschten Auflösung. Es wird ungefähr so aussehen:
Aus den obigen Daten sollten Sie die Zeichenfolge erhalten
108.000 1152 1216 1344 1600 864 865 868 900 +HSync +VSync
.Suchen Sie nach einer ähnlichen Zeile, um den Namen Ihrer Ausgabe zu ermitteln:
Hier wird meine Ausgabe benannt
VGA1
.Jetzt erstelle ein Skript:
Dann schreiben Sie in die Datei Folgendes:
Datei speichern und schließen. Skript ausführbar machen:
Erstellen Sie eine Konfigurationsdatei, um das soeben erstellte Skript aufzurufen.
In dieser Datei geben Sie ein:
Datei speichern und schließen. Starten Sie neu und hoffentlich wird die von Ihnen gewählte Auflösung bei Ihrer Anmeldung angezeigt.
In der Praxis ist dies der einzige Weg, der für mich funktioniert hat, obwohl es nicht logisch ist, vorhandene Auflösungen neu zu erstellen.
Antwort geändert von dieser Frage .
Hinweis
Eine alternative Möglichkeit, die Zeichenfolge mit langer Auflösung abzurufen, ist das Programm
cvt
. Aktualisierungsrate 75.00, um eine Zeichenfolge für die Auflösung 1152 x 864 zu erhalten:Dies gab mir eine etwas andere Auflösung als meine Desktopauflösung und ist der Grund, warum ich die Methode nicht in die Hauptantwort aufgenommen habe.
quelle
Wenn Sie den GTK-Begrüßer von LightDM verwenden, können
xrandr -q
Sie die Namen Ihrer Monitore suchen/etc/lightdm/lightdm-gtk-greeter
und die Eigenschaftactive-monitor
wie in den Kommentaren in dieser Datei beschrieben bearbeiten und festlegen . Diese Eigenschaft kann mehrere geordnete Werte annehmen, einschließlich#cursor
für den Monitor, auf dem derzeit der Mauszeiger angezeigt wird.quelle
Ich möchte mein Skript, das die Monitore konfiguriert, an eine der Multimedia-Tasten auf meiner Tastatur anhängen, die ich sonst nicht benutze. Derzeit habe ich die Schaltfläche mit der Bezeichnung "Windows Media Center" meine Anzeigen in ihre bevorzugte Konfiguration zu zwingen. Auf diese Weise können Sie, wenn Sie blind fliegen und Ihre Monitore nicht mit der gewünschten Auflösung synchronisieren, einfach den Hotkey drücken und alles ist behoben.
quelle
"Bevorzugte Bildschirmmodi" könnten das Problem sein
Ich gehe davon aus, dass Ihr Monitor die hohe Bildschirmauflösung als bevorzugt meldet. Jetzt möchten Sie diese Standardeinstellung überschreiben . Siehe meine Antwort auf eine sehr ähnliche Frage für Einzelheiten darüber, wie dies getan werden kann.
Ich hatte das gegenteilige Problem: Ich hatte immer eine niedrigere Bildschirmauflösung (1280x1024) als die, die ich wollte (1600x1200). Der Fix, den ich gefunden habe (und der in der verknüpften Antwort beschrieben ist), kann hoffentlich auch auf Ihr Problem angewendet werden.
quelle
Ich hatte das gleiche Problem auf meinem MacBook Pro Mitte 2014 (11,1) mit Xenial. Ich habe alle oben genannten Lösungen in verschiedenen Formen ausprobiert, aber X würde immer in den ausfallsicheren Low-Graphics-Modus versetzt (aber genau in der Auflösung angezeigt, die ich als Standard festlegen wollte, nicht weniger.
Es stellte sich heraus, dass ich nach langem Streiten in den Foren die einfachste und voreingestellte mögliche Lösung vergessen hatte: nomodeset. Das hat das Problem behoben.
TL; DR: Vergiss nicht, nomodeset auszuprobieren! Esp. auf einem MacbookPro 11,1.
quelle
Ich habe dieses Skript erstellt , um es dynamischer zu gestalten (mehrere Arbeitsbereiche / verschiedene Monitore).
Einziger Ärger: Wenn Sie sich von lightdm aus einloggen, blinkt der Bildschirm immer noch so, als ob er die Auflösung ändern möchte: s
quelle