На мене впливає помилка: 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
виводять тільки на екран ноутбука і ігнорує будь-який зовнішній монітор. EG:
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)
Заздалегідь спасибі.