Я подвержен влиянию ошибки: 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). Фантастический!
Этот обходной путь прекрасно работает, если к ноутбуку подключен внешний монитор. В ситуации, когда он не подключен, на этапе входа в систему я получаю: ОШИБКА РЕЖИМА НИЗКОЙ ГРАФИКИ (Вы работаете в режиме низкой графики, ваш экран, устройства ввода ... не были обнаружены ...). Нормальный, потому что xrandr
пытается вывести на не подключенный монитор.
Вопрос здесь, как я должен изменить сценарий таким образом , что , когда внешний монитор не подключен xrandr
выводят только на экран ноутбука и игнорирует любой внешний монитор. НАПРИМЕР:
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)
Заранее спасибо.