Автоматическое изменение размера дисплея X11 при подключении внешнего монитора

StackOverflow https://stackoverflow.com/questions/129297

  •  02-07-2019
  •  | 
  •  

Вопрос

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

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

xrandr --auto

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

Есть идеи?

Это было полезно?

Решение

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

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

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

Другие советы

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

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top