Неправильная конфигурация дисплея, используемая LightDM в Ubuntu 13.10 при закрытой крышке ноутбука в док-станции [дубликат]

На этот вопрос уже есть ответ здесь:

После обновления до Ubuntu 13.10 на моем ноутбуке (фактически до Xubuntu, так как я перешел на XFCE) я столкнулся с проблемами с LightDM:

Я использую два внешних дисплея (один 24" и один 22"), подключенных к док-станции моего ноутбука. После установки драйвера NVIDIA 319 я использовал nvidia-settings для настройки обоих дисплеев на использование TwinView и правильных собственных разрешений. Я также сохранил эту конфигурацию в файле /etc/X11/xorg.conf. Сейчас, когда я вхожу в систему, мои настройки дисплея "загружаются" правильно.

Однако LightDM, похоже, игнорирует мою настройку: Каждый раз экран входа в систему отображается в режиме клона вместо TwinView с фоновым изображением неправильного размера (слишком маленьким) для 24-дюймового дисплея.

Как я могу это исправить?


Обновление:

Я только что заметил, что LightDM использует неправильную настройку дисплея (т.е. режим клона) только когда крышка ноутбука закрыта в док-станции. Когда я держу крышку ноутбука открытой (даже с отключенным дисплеем ноутбука), LightDM ведет себя правильно и использует именно ту настройку дисплея, которую я настроил для своей X-сессии.


Решения для аналогичных вопросов, которые включают использование xrandr в скрипте и запуск его с опцией "display-setup-script" или подобной в /etc/lightdm/lightdm.conf не работают: Мой скрипт (см. ниже) выполняется, но разрешение не меняется. При выполнении вручную в X-сессии скрипт работает отлично.

Возможно, что-то переопределяется/заменяется драйвером NVIDIA? Я уже пробовал драйверы NVIDIA 304, 319 и 331 без успеха. В 13.04 эта проблема не возникала, мне даже не понадобился скрипт для LightDM.


Мой текущий скрипт (/usr/share/lightdmxrandr.sh):

#!/bin/bash
extscreens=$(xrandr -q | grep -c "DP-[02] connected")
if [[ $extscreens == 2 ]]; then
    xrandr --output DP-2 --primary --mode 1920x1200 \
           --output DP-0 --mode 1680x1050 --right-of DP-2 --output LVDS-0 --off
else
    xrandr --output LVDS-0 --mode 1280x800 --output DP-2 --off --output DP-2 --off
fi
exit 0

/etc/lightdm/lightdm. conf:

[SeatDefaults]
greeter-session=unity-greeter
user-session=ubuntu
display-setup-script=/usr/share/lightdmxrandr.sh
session-setup-script=/usr/share/lightdmxrandr.sh
greeter-setup-script=/usr/share/lightdmxrandr.sh

Решение:

После перехода с Unity на XFCE решение было следующим:

  1. Установите стандартный LightDM greeter для XFCE:

    apt-get install lightdm-gtk-greeter xubuntu-default-settings

  2. Измените соответствующую строку в /etc/lightdm/lightdm.conf:

    До:

    [SeatDefaults]
    greeter-session=unity-greeter
    ...
    

    После:

    [SeatDefaults]
    greeter-session=lightdm-gtk-greeter
    ...
    

Теперь все дисплеи настроены правильно на экране входа в LightDM.

1
задан 13 April 2017 в 15:24

1 ответ

Я использую

session-cleanup-script=path-to-script

для запуска моего скрипта, и он отлично работает для меня ... На экране lightdm отображается правильное разрешение, а мониторы находятся на правильных сторонах.

Имейте в виду, что я использую что-то вроде

nvidia-settings --assign CurrentMetaMode="HDMI-1: 1280x720_60 +1920+0 {ViewPortIn=1280x720, viewportout=1240x697+20+11}, DVI-D-0: nvidia-auto-select +0+0"

, а не xrandr, так как мне нужно также исправить оверскан для моего телевизора, так как у него нет опции.

P.S. 13.10 изменил расположение файла на подкаталог (читайте в этом блоге)

http://blogs.bu.edu/mhirsch/2013/10/ubuntu-13-10- удаление-гость-доступ и удаляющий-дистанционный Логин /

0
ответ дан 13 April 2017 в 15:24

Другие вопросы по тегам:

Похожие вопросы: