GNU/Linux >> LINUX-Kenntnisse >  >> Ubuntu

Warum wirken sich die Lightdm.conf-Änderungen nicht auf die Desktop-Bildschirmauflösung aus?

Ich wollte die Bildschirmauflösung meines Desktops auf 1366x768 ändern . Aber meine VESA drivers(AMD REDWOOD) habe diese Auflösung nicht erkannt. Also habe ich ein Shell-Skript wie folgt erstellt:-

xrandr --newmode "1368x768_60.00"   85.25  1368 1440 1576 1784  768 771 781 798 -hsync +vsync  
xrandr --addmode DVI-0 1368x768_60.00  
xrandr --output DisplayPort-0 --off --output DVI-0 --mode 1368x768_60.00 --pos 0x0 --rotate normal --output HDMI-0 --off

Ich habe es als lightdmxrandr.sh gespeichert in /usr/bin und ausführbar gemacht. Dann habe ich die folgenden Zeilen zu /usr/share/lightdm/lightdm.conf.d/50-ubuntu.conf hinzugefügt (was das Äquivalent der bekannten /etc/lightdm/lightdm.conf ist . Ich verwende die obige Datei, da ich am 14.04 bin, wo es keine /etc/lightdm/lightdm.conf gibt .) :-

greeter-session=unity-greeter  
display-setup-script=/usr/bin/lightdmxrandr.sh  
session-setup-script=/usr/bin/lightdmxrandr.sh

und gespeichert. Theoretisch hätte dies sowohl die Auflösung des Anmeldebildschirms als auch die Desktop-Bildschirmauflösung auf 1366x768 ändern sollen . Aber überraschenderweise änderte sich dadurch nur die Auflösung des Anmeldebildschirms. Die Desktopauflösung wurde nicht verändert. Später fügte ich das Skript zu Startup-Anwendungen hinzu und das änderte meine Desktop-Auflösung.

Ich möchte also wissen, warum ich Änderungen an lightdm.conf vorgenommen habe Datei (oder besser gesagt die 50-ubuntu.conf Datei) hatte keinen Einfluss auf meine Desktop-Auflösung. Ist dies eine Art Fehler, der auf dem Launchpad gemeldet werden muss, oder ist es falsch zu sagen, dass Änderungen in lightdm den Desktop-Bildschirm beeinflussen?

PS:- Meiner Meinung nach ist dies nicht nur spezifisch für Ubuntu 14.04.

Akzeptierte Antwort:

Ich habe etwas Ähnliches versucht und nach einigem Debuggen denke ich, dass ich herausgefunden habe, was los ist. Ihr Skript ist wahrscheinlich ist läuft und stellt wahrscheinlich die Auflösung richtig ein. Da es jedoch vom Login-Manager ausgeführt wird, wird es ausgeführt, bevor Unity die Einrichtung Ihrer Desktop-Umgebung abgeschlossen hat und Unity seine eigenen Einstellungen liest und die Auflösung auf das zurücksetzt, was Sie hatten. Also, ich denke, was passiert ist:

  1. lightdm führt Ihr Skript korrekt aus
  2. Dies stellt Ihre gewünschte Auflösung ein
  3. Unity startet, liest seine Einstellungen und kehrt zu der Standardauflösung zurück, die Sie dort haben
  4. Dein Vorsatz ist wieder so wie vorher

Dies geschieht jetzt, weil der VESA-Treiber Ihre gewünschte Auflösung nicht automatisch erkennt. Das bedeutet, dass Sie, wenn Sie die Auflösung im Abschnitt „Anzeigen“ der Unity-Einstellungen ändern, ihr eine Auflösung zuweisen, die nicht verfügbar ist, es sei denn, Sie führen xrandr aus Befehle. Daher wird dies beim nächsten Neustart ignoriert und Unity kehrt zur Standardauflösung zurück.

Verwandte:Wie entferne ich die Nautilus-Seitenleiste in einigen Instanzen?

Sie müssen also die Auflösung für Unity verfügbar machen, sie dann als Standard festlegen und sie damit verarbeiten lassen. Dazu müssen Sie diese Zeile zuerst zu /usr/share/lightdm/lightdm.conf.d/50-ubuntu.conf hinzufügen :

session-setup-script=/usr/bin/lightdmxrandr.sh

Stellen Sie dann sicher, dass /usr/bin/lightdmxrandr.sh sieht so aus:

xrandr --newmode "1368x768_60.00"   85.25  1368 1440 1576 1784  768 771 781 798 -hsync +vsync  
xrandr --addmode DVI-0 1368x768_60.00  

Beachten Sie, dass ich nicht wirklich einstelle die Auflösung, nur zur Verfügung stellen. Wenn Sie diesen Neustart durchgeführt haben, melden Sie sich an. Die neue Auflösung sollte jetzt unter Einstellungen => Anzeigen verfügbar sein. Wenn ja, wählen Sie es dort aus, melden Sie sich ab und wieder an, und die Auflösung sollte korrekt eingestellt sein. Sie sollte jetzt über Neustarts hinweg bestehen bleiben.

Alternative Ansätze:

  1. Erstellen Sie eine /etc/X11/xorg.conf Datei, die Ihre gewünschte Auflösung auflistet. Etwa so:

    Section "Monitor"
        Identifier    "Monitor0"
        Modeline "1368x768_60.00"  109.00  1280 1368 1496 1712  1024 1027 1034 1063 -hsync +vsync
    EndSection
    
    Section "Screen"
        Identifier     "Screen0"
        Device         "Card0"
        Monitor        "Monitor0"
        SubSection "Display"
            Modes       "1368x768_60.00"
        EndSubSection
    EndSection
    
    Section "Device"
        Identifier    "Card0"
        Driver        "vesa"
    EndSection
    
  2. Fügen Sie das Skript hinzu, das xrandr ausführt Befehle an die Startanwendungen Ihrer Sitzung.


Ubuntu
  1. Wie erweitere ich den Desktop auf einen zweiten verbundenen Bildschirm?

  2. Auflösung auf Ubuntu Server 10.04 anpassen?

  3. Warum wird die Registerkarte „Benutzerdefinierte Upstart-Jobnamen“ im Dienstbefehl nicht abgeschlossen?

  4. Warum wird die native Auflösung des Monitors nicht als Option angezeigt?

  5. Wie sperrt man den Bildschirm?

Der perfekte Desktop – Xubuntu 12.04

Der perfekte Desktop – Kubuntu 12.10

So ändern Sie die Bildschirmauflösung über das Ubuntu-Terminal

Warum ist der Desktop-Hintergrund nach dem Upgrade auf 13.04 schwarz?

Kde 5.56 Sddm Anmeldebildschirmauflösung auf Hidpi Fhd-Bildschirm?

Warum ist es möglich, den Bildschirm umzudrehen?