Форум русскоязычного сообщества Ubuntu


Увидели сообщение с непонятной ссылкой, спам, непристойность или оскорбление?
Воспользуйтесь ссылкой «Сообщить модератору» рядом с сообщением!

Автор Тема: Разрешение экрана при входе в систему  (Прочитано 3308 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн SemKA

  • Автор темы
  • Новичок
  • *
  • Сообщений: 25
    • Просмотр профиля
Ноутбук с Ubuntu 12.04 + Gnome shell (из репозитариев Gnome-team)
К ноутбуку по VGA подключен монитор. Нужно выводить картинку на монитор с родным для него разрешением.
Решил воспользоваться xrandr.

скрипт asus-auto-switch-video.sh:
#!/bin/bash

xrandr | grep VGA1 | grep " connected "
if [ $? -eq 0 ]; then
xrandr --output VGA1 --mode 1920x1080 --output LVDS1 --off
else
xrandr --output LVDS1 --mode 1366x768 --output VGA1 --off
fi

идея скрипта проста, если монитор подключен, то выводим картинку только на него, иначе на монитор ноутбука.

настроил lightdm.conf
[SeatDefaults]
user-session=gnome-shell
greeter-session=unity-greeter
display-setup-script=/etc/acpi/asus-auto-switch-video.sh
greeter-setup-script=/etc/acpi/asus-auto-switch-video.sh
session-setup-script=/etc/acpi/asus-auto-switch-video.sh
session-cleanup-script=/etc/acpi/asus-auto-switch-video.sh

результат следующий:
При окне авторизации LightDM всё ОК, после авторизации выставляется 1024x768 и картинка дублируется на два монитора, завершаю сеанс - возвращаюсь к окну авторизации и снова всё ОК.

Как сделать автоматическое сохранение разрешения после авторизации? странно что LightDM не передаёт установки.

P.S. Да, можно прописать скрипт в автозапуск... но это же костыль, есть ли более красивое решение?

Оффлайн tep70-0576

  • Новичок
  • *
  • Сообщений: 1
    • Просмотр профиля
Re: Разрешение экрана при входе в систему
« Ответ #1 : 16 Мая 2012, 19:55:14 »
Присоединяюсь к теме, тоже очень хочется получить такой эффект, но только для Unity рабочего стола.

Оффлайн SemKA

  • Автор темы
  • Новичок
  • *
  • Сообщений: 25
    • Просмотр профиля
Re: Разрешение экрана при входе в систему
« Ответ #2 : 17 Мая 2012, 16:35:15 »
пока получил следующее: система загружается, появляется окно входа LightDM на внешнем мониторе с правильным разрешением, после авторизации появляется рабочий стол на внешнем мониторе с правильным разрешением :)
замеченные косяки: при отключении VGA картинка переходит на экран ноута, при обратном подключении VGA оба экрана объединяются... короче ерундень получается.

для всего этого убрал выше написанный скрипт из автозагрузки, и поправил ~/.config/monitors.xml (можно этот же файл скопировать в /etc/gnome-settings-daemon/xrandr/ для применения ко всем пользователям, но я пока не проверял)

мой monitors.xml
<monitors version="1">
  <configuration>
      <clone>no</clone>
      <output name="LVDS1">
          <vendor>LGD</vendor>
          <product>0x02f8</product>
          <serial>0x00000000</serial>
          <width>1366</width>
          <height>768</height>
          <rate>60</rate>
          <x>0</x>
          <y>0</y>
          <rotation>normal</rotation>
          <reflect_x>no</reflect_x>
          <reflect_y>no</reflect_y>
          <primary>no</primary>
      </output>
      <output name="VGA1">
      </output>
      <output name="HDMI1">
      </output>
      <output name="DP1">
      </output>
  </configuration>
  <configuration>
      <clone>no</clone>
      <output name="LVDS1">
      </output>
      <output name="VGA1">
          <vendor>SAM</vendor>
          <product>0x0849</product>
          <serial>0x31333937</serial>
          <width>1920</width>
          <height>1080</height>
          <rate>60</rate>
          <x>0</x>
          <y>0</y>
          <rotation>normal</rotation>
          <reflect_x>no</reflect_x>
          <reflect_y>no</reflect_y>
          <primary>yes</primary>
      </output>
      <output name="HDMI1">
      </output>
      <output name="DP1">
      </output>
  </configuration>
</monitors>

Оффлайн SemKA

  • Автор темы
  • Новичок
  • *
  • Сообщений: 25
    • Просмотр профиля
Re: Разрешение экрана при входе в систему
« Ответ #3 : 23 Мая 2012, 10:27:00 »
некий итог:
всё работает как и требовалось, но с некоторым ограничением: при открытой сессии откл./вкл. VGA провод происходит переключение в режим "расширение рабочего стола", но перезапуск X (Ctrl+Alt+F1 и sudo service lightdm restart) или завершение сеанса исправляет ситуацию. Как избавиться от этого "расширенного стола" пока не знаю.

скрипт asus-auto-switch-video.sh остался без изменений.
конфиг monitors.xml без изменений, единственно что я его перенес в /etc/gnome-settings-daemon/xrandr/

lightdm.conf
[SeatDefaults]
user-session=gnome-shell
greeter-session=unity-greeter
display-setup-script=/etc/acpi/asus-auto-switch-video.sh
session-cleanup-script=/etc/acpi/asus-auto-switch-video.sh

 

Страница сгенерирована за 0.061 секунд. Запросов: 25.