Как я могу определить, когда внешний монитор подключен в Linux?
Мне нужно запустить различные сценарии, чтобы настроить мое рабочее пространство.
Есть ли какой-нибудь умный способ запустить скрипт, когда состояние монитора изменилось?
Я использую драйвер дисплея Nvidia.
xrandr
каждые пару секунд и запускает скрипт (ы), если он замечает разницу.Ответы:
Существует набор инструментов, называемых read-edid, которые могут анализировать расширенные идентификационные данные дисплея (EDID). Если ваш внешний монитор фактически обнаружен этими инструментами, вы можете периодически проверять обнаружение и использовать выходные данные для запуска сценариев и т. Д.
Вы не упомянули, нужно ли вам делать это независимо от того, запущен ли X.
источник
Я искал тот же ответ: /
Я использую disper ( http://willem.engen.nl/projects/disper ) и gconftool для включения / отключения моего второго монитора вместе со второй панелью gnome на нем.
disper -l выводит список всех подключенных мониторов, чтобы вы могли опрашивать их как последнее средство.
источник
Вы должны использовать
udev
события ... возможное правило может выглядеть так:(Источник https://bbs.archlinux.org/viewtopic.php?pid=1329375#p1329375 )
источник
Учитывая, что по состоянию на 270.18 двоичные драйверы nVidia, похоже, по-прежнему не реализуют современный XRandR, вам, возможно, придется просто согласиться с предложением new123456 опрашивать инструмент, например,
xrandr
для изменения размера экрана.В моей системе мне еще предстоит найти способ сделать так, чтобы nVidia правильно объявила о
xrandr
том, что у меня есть два монитора 1280x1024, а не один 2560x1024 ... который, как вы можете догадаться, делает полноэкранные игровые центры на обоих мониторах, когда я запрещаю их от изменения разрешения. (Это испортило мои настольные наклейки)источник