На меня влияет BUG: https://bugs.launchpad.net/ubuntu/+source/unity-greeter/+bug/874241 В противном случае, если у меня есть ноутбук, подключенный к ноутбуку на второй монитор с более высоким разрешением, LIGHTDM на этапе входа в систему, отображает экраны на обоих экранах и назначает им общее разрешение (1024X768) в моем случае вместо расширения рабочего стола (основной экран с приветственным и вторичным с помощью только одного логотип, как указано в книге спецификаций UX с несколькими мониторами для 12.04).
Вот мой 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)
Я попытался заставить lightdm выполнить некоторые команды xrandr, чтобы установить правильное разрешение для каждого монитора и расширить рабочий стол, поэтому я создал простой скрипт с именем /usr/share/lightdmxrand.sh:
#!/bin/sh
xrandr --output HDMI1 --primary --mode 1920x1080 --output LVDS1 --mode 1366x768 --below HDMI1
И сказал lightdm запустить его: / 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: sudo restart lightdm
И экран входа в список приветствия был правильным. Экраны с соответствующими правильными разрешениями, и если я перемещаю мышь на экран, она фокусируется на окне входа и панели, а на нефокусированном экране отображается логотип Ubuntu (точно так же, как указано в специальной книге MM UX). Фантастический!
Это обходное решение отлично работает, пока внешний монитор подключен к ноутбуку. В ситуации, когда он не подключен, на этапе входа в систему я получаю: LOW GRAPHICS MODE ERROR (вы работаете в режиме с низкой графикой, ваш экран, устройства ввода ... не обнаруживаются ..). Нормально, потому что xrandr
пытается вывести на не подключенный монитор.
Вопрос в том, как изменить сценарий таким образом, чтобы при внешнем мониторе не было подключено xrandr
выводится только на экран ноутбука и игнорирует любой внешний монитор. E.G:
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)
Спасибо заранее.