Ich bin von dem BUG betroffen: https://bugs.launchpad.net/ubuntu/+source/unity-greeter/+bug/874241 Ansonsten, wenn Sie wie ich einen Laptop an einen zweiten Monitor mit höherer Auflösung angeschlossen haben, LIGHTDM unter Die Anmeldephase spiegelt die Anzeigen in beiden Bildschirmen und weist ihnen in meinem Fall eine gemeinsame Auflösung (1024 x 768) zu, anstatt den Desktop (primärer Bildschirm mit dem Begrüßer und sekundärer Bildschirm mit nur einem Logo, wie im Lastenheft für Multiple Monitors UX angegeben) zu erweitern für 12.04).
Hier ist mein xrandr -q
@L502X:~$ xrandr -q
Screen 0: minimum 320 x 200, current 1920 x 1848, maximum 8192 x 8192
LVDS1 connected 1366x768+309+1080 (normal left inverted right x axis y axis) 344mm x 193mm
1366x768 60.0*+
1360x768 59.8 60.0
1024x768 60.0
800x600 60.3 56.2
640x480 59.9
VGA1 disconnected (normal left inverted right x axis y axis)
HDMI1 connected 1920x1080+0+0 (normal left inverted right x axis y axis) 510mm x 287mm
1920x1080 60.0*+
1600x1200 60.0
1680x1050 60.0
1280x1024 60.0
1440x900 59.9
1280x960 60.0
1280x800 59.8
1024x768 60.0
800x600 60.3 56.2
640x480 60.0
DP1 disconnected (normal left inverted right x axis y axis)
Ich habe versucht, lightdm zu zwingen, einige xrandr-Befehle auszuführen, um die richtige Auflösung für jeden Monitor festzulegen und den Desktop zu erweitern. Deshalb habe ich ein einfaches Skript mit dem Namen /usr/share/lightdmxrand.sh erstellt :
#!/bin/sh
xrandr --output HDMI1 --primary --mode 1920x1080 --output LVDS1 --mode 1366x768 --below HDMI1
Und forderte lightdm auf, es auszuführen : /etc/lightdm/lightdm.conf
[SeatDefaults]
greeter-session=unity-greeter
user-session=ubuntu
greeter-setup-script=/usr/bin/numlockx on
display-setup-script=/usr/share/lightdmxrandr.sh
lightdm neu gestartet: sudo restart lightdm
Und der Unity-Begrüßer-Anmeldebildschirm war korrekt. Bildschirme mit der jeweils richtigen Auflösung und wenn ich die Maus auf einen Bildschirm bewege, wird dieser mit dem Anmeldefeld und dem Bedienfeld scharfgestellt, während auf dem nicht scharfgestellten Bildschirm nur ein Ubuntu-Logo angezeigt wird (wie im MM UX-Spezifikationsbuch angegeben). Fantastisch!
Diese Problemumgehung funktioniert einwandfrei, solange der externe Monitor an den Laptop angeschlossen ist. In einer Situation, in der keine Verbindung besteht, erhalte ich beim Anmelden Folgendes: EINEN FEHLER IM NIEDRIGEN GRAFIKMODUS (Sie haben einen niedrigen Grafikmodus, Ihr Bildschirm, Ihre Eingabegeräte ... wurden nicht erkannt.). Normal, da xrandr
versucht wird, auf einem nicht angeschlossenen Monitor auszugeben.
Die Frage ist hier, wie ich das Skript so ändern soll, dass, wenn der externe Monitor nicht angeschlossen ist xrandr
, nur Ausgaben an den Laptopbildschirm gesendet werden und jeder externe Monitor ignoriert wird. Z.B:
If (xrandr -q | grep 'HDMI1 connected') != NULL (HDMI1 is connected )
then xrandr --output HDMI1 --primary --mode 1920x1080 --output LVDS1 --mode 1366x768 --below HDMI1
else xrandr --output LVDS1 --mode 1366x768 (or do nothing - because the resolution of the laptop screen is correct when no external monitor is connected)
Danke im Voraus.
quelle
Ich habe festgestellt, dass --auto anstelle der expliziten Angabe der Auflösung mit --mode die beste Auflösung für Sie auswählt (die größte, die ich glaube).
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