Автоматическое изменение размера дисплея X11 при подключении внешнего монитора - PullRequest
4 голосов
/ 24 сентября 2008

У меня есть ноутбук с Ubuntu, к которому я подключаю внешний монитор, когда нахожусь в офисе. Обычно для этого требуется, чтобы я запускал xrandr --auto, чтобы ноутбук изменил размеры дисплея в соответствии с внешним монитором. Было бы неплохо, если бы это можно было сделать автоматически, либо сработало при подключении монитора, но этого было бы достаточно для фактического запуска xrandr --auto, когда ноутбук просыпался из режима ожидания / спящего режима.

Я создал скрипт /etc/pm/sleep.d/00xrandr.sh, содержащий строку

xrandr --auto

но это не удалось, так как скрипт не имеет доступа к дисплею X.

Есть идеи?

Ответы [ 2 ]

2 голосов
/ 01 октября 2008

Я предполагаю, что проблема в том, что скрипт запускается от имени пользователя root, и у вас нет доступа к вашим данным xauth. В зависимости от вашей настройки, что-то вроде этого может работать:

xauth merge /home/your_username/.Xauthority
export DISPLAY=:0.0
xrandr --auto

Вы можете использовать что-то более умное, чтобы выяснить, от какого пользователя вам нужно извлечь данные xauth, если вам нужно.

0 голосов
/ 24 сентября 2008

Вы пытались правильно установить переменную DISPLAY в скрипте и предоставили другим пользователям доступ к вашему DISPLAY с помощью xhost + localhost? Не знаю, поможет ли это, но стоит попробовать.

...