LINUX.ORG.RU

Ноутбук. Переключение мониторов.


0

1

Сейчас переключение с панели ноута на внешний монитор и обратно реализовано выполнением команд по хоткеям :

xrandr --output HDMI1  --auto --output LVDS1 --off
xrandr --output HDMI1  --off --output LVDS1 --auto

На ноуте есть специальная комбинация с клавишей Fn, но работает она очень криво, и если ошибешься с нужным количеством нажатий, получишь полное отсутствие изображения где-либо, которое лечится только перезагрузкой иксов.

Вопросы:

1. Можно ли отредактировать выполнение действий на нажатие комбинаций с Fn?
2. Можно ли через что-нибудь (dbus, hal) сделать автоматическое выполнение вышеуказанных команд при подключении/отключении выхода HDMI?

★★★★★

athost> Можно ли отредактировать выполнение действий на нажатие комбинаций с Fn

acpi_listen нажатие на эти клавиши не показывает.

athost ★★★★★ ()

athost> Можно ли через что-нибудь (dbus, hal) сделать автоматическое выполнение вышеуказанных команд при подключении/отключении выхода HDMI?

Проблема в том, что я не нашел никакой реакции на HDMI, кроме записи в dmesg при загрузке и упоминания в lshal как об устройстве вывода звука

athost@kauna:~ > dmesg | grep -i hdmi
[10156.487488] HDMI hot plug event: Pin=4 Presence_Detect=0 ELD_Valid=0
[10158.796474] HDMI hot plug event: Pin=4 Presence_Detect=1 ELD_Valid=0

athost@kauna:~ > lshal | grep -i hdmi
  alsa.device_id = 'INTEL HDMI 1'  (string)
  info.product = 'INTEL HDMI 1 ALSA Playback Device'  (string)
  alsa.device_id = 'INTEL HDMI 0'  (string)
  info.product = 'INTEL HDMI 0 ALSA Playback Device'  (string)
udi = '/org/freedesktop/Hal/devices/pci_8086_46_drm__null__card0_drm__null__card0_HDMI_Type_A_1'
  info.udi = '/org/freedesktop/Hal/devices/pci_8086_46_drm__null__card0_drm__null__card0_HDMI_Type_A_1'  (string)
  linux.sysfs_path = '/sys/devices/pci0000:00/0000:00:02.0/drm/card0/card0-HDMI Type A-1'  (string)
athost ★★★★★ ()
Ответ на: комментарий от athost

Имхо, проще это через udev сделать. Запусти udevadm monitor и попробуй воткнуть/вытащить кабель.
Написать правила, которые опознают событие и запускают нужные команды обычно очень просто. http://www.opennet.ru/base/sys/udev_dynamic.txt.html в помощь.

nnz ★★★★ ()
Ответ на: комментарий от nnz

nnz> udevadm monitor

KERNEL[1285756575.010038] change   /devices/pci0000:00/0000:00:02.0/drm/card0 (drm)
UDEV  [1285756575.013937] change   /devices/pci0000:00/0000:00:02.0/drm/card0 (drm)

Спасибо за мысль. В логах udev я искал, но упоминание HDMI, а тут он тоже выдает подключение аудио-устройства.

Попробую прикрутить.

athost ★★★★★ ()
Ответ на: комментарий от athost

athost> Попробую прикрутить.

А не получается :(

udev в как при подключении hdmi, так и при отключении выдает одинаковое «ACTION=change», а не «add» и «remove» и какой монитор включать xrandr непонятно.

athost ★★★★★ ()
Ответ на: комментарий от athost

В смысле автоматическое переключение вывода при вкл/выкл кабеля hdmi

athost ★★★★★ ()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.