BŁĄD dotyczy mnie: https://bugs.launchpad.net/ubuntu/+source/unity-greeter/+bug/874241 W przeciwnym razie, jeśli tak jak ja, masz laptopa podłączonego do drugiego monitora o wyższej rozdzielczości, LIGHTDM na etap logowania, odzwierciedla ekrany na obu ekranach i przypisuje im wspólną rozdzielczość (1024 x 768) w moim przypadku, zamiast rozszerzania pulpitu (ekran główny z powitaniem i ekran wtórny tylko z logo, jak wspomniano w specyfikacji specyfikacji wielu monitorów UX do 12.04).
Oto mój 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)
Próbowałem zmusić lightdm do wykonania niektórych poleceń xrandr, aby ustawić odpowiednią rozdzielczość dla każdego monitora i rozszerzyć pulpit, dlatego stworzyłem prosty skrypt o nazwie /usr/share/lightdmxrand.sh :
#!/bin/sh
xrandr --output HDMI1 --primary --mode 1920x1080 --output LVDS1 --mode 1366x768 --below HDMI1
I powiedział lightdm, aby go uruchomił: /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
restarted lightdm: sudo restart lightdm
I ekran logowania powitania jedności był poprawny. Ekrany z ich odpowiednimi rozdzielczościami i jeśli przesunę mysz do ekranu, ostrość zostanie zaznaczona za pomocą pola logowania i panelu, podczas gdy nieostry ekran wyświetla tylko logo Ubuntu (dokładnie tak, jak podano w specyfikacji MM UX). Fantastyczny!
To obejście działa świetnie, dopóki monitor zewnętrzny jest podłączony do laptopa. W sytuacji, gdy nie jest podłączony, na etapie logowania otrzymuję: BŁĄD TRYBU NISKIEJ GRAFIKI (Pracujesz w trybie niskiej grafiki, ekran, urządzenia wejściowe ... nie zostały wykryte ...). Normalne, ponieważ xrandr
próbuje wyprowadzić sygnał do niepodłączonego monitora.
Pytanie o to, jak należy zmodyfikować skrypt w taki sposób, że gdy zewnętrzny monitor nie jest podłączony xrandr
wyjścia tylko na ekranie laptopa i ignoruje wszelkie monitora zewnętrznego. NA PRZYKŁAD:
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)
Z góry dziękuję.