Автор Тема: Ноутбук / Смена разрешения при подключении проектора [решено]  (Прочитано 3629 раз)

Оффлайн berkut_174

  • Мастер
  • ***
  • Сообщений: 7 147
    • Email
Нужно как на Windows 7: при подключении проектора переключать на одно разрешение (синхронизировать устройства вывода), например, 1024х768, а при выдергивании — возвращать все наместо.

Как организовать на Симпли 6 ?

Почитал в гугле и все такое.
Нашел, для себя некое решение, которое требует доработки. Возможно у кого-то появятся какие-то мысли на этот счет или быть может кто-то уже решал такой вопрос. А, возможно, это решается по-другому и намного проще :)

И так, пришел к такому решению.
Нужно написать скрипт, который будет проверять каждые 2-3 секунды, подключено ли что-то к VGA или HDMI и в зависимости от этого будет при помощи xrandr менять разрешение. Если условие выполняется, то одинаковое разрешение на оба устройства, если нет — то все на месте.

Проблема вот в чем: где в системе можно узнать (в какой папке или файле), подключено ли что-то к VGA или HDMI (т.е. к видео-выходам) ?

Подскажите, пожалуйста.

Наброски скрипта:if [ -d некая_папка ]; then
xrandr --output LVDS --mode 1024x768 --output VGA --mode 1024x768
else
xrandr --output LVDS --mode 1366x768
fi

Спасибо.
« Последнее редактирование: 13.12.2012 12:27:08 от berkut_174 »
Сноси Винду, переходи на Линукс ! :)

Оффлайн Skull

  • Глобальный модератор
  • *****
  • Сообщений: 19 926
    • Домашняя страница
    • Email
Где-то в дебрях /sys/bus/acpi/devices/ ?
Андрей Черепанов (cas@)

Оффлайн berkut_174

  • Мастер
  • ***
  • Сообщений: 7 147
    • Email
Где-то в дебрях
Да, направление то же http://new.xpro.su/linux/external-screen :)

Ну и сам скрипт:
#!/bin/sh

while true; do
   status=`sed -n '1 p' /sys/class/drm/card0-VGA-1/status`
   if [ "$status" = "connected" ]; then
      xrandr --output LVDS1 --mode 1024x768 --output VGA1 --mode 1024x768
   else
      xrandr --output LVDS1 --mode 1366x768 --output VGA1 --off
   fi &
   sleep 2 #интервал, через который повторять проверку видеовыхода
done

Задержка даже в 2 секунды заметна, так что можно единицу использовать.

Можно прям в rc.local закинуть. Лучше не надо. Надежней будет создать скрипт (где-нибудь) и запускать его у пользователя через autostart — я так и сделал.
Для нескольких выходов скрипт немного придется модифицировать, но принцип тот же.

Спасибо! :)

[решено]
« Последнее редактирование: 13.12.2012 10:41:01 от berkut_174 »
Сноси Винду, переходи на Линукс ! :)