Я пытаюсь добиться следующего:
Когда я подключаю свой ноутбук к док-станции, я хочу, чтобы внешний дисплей был подключен к док-станции.
Для этого я используюПравило udev, которое запускает скрипт, который, как я знаю, на самом деле запускается, когда он должен.Сценарий устанавливает переменные env XAUTHORITY и DISPLAY, соответствующие их значениям в моем xsesison до выполнения команд xrandr.Команды, которые я выполняю, прекрасно вызываются из моего xsession.Однако при вызове из scipt я сталкиваюсь со следующей ошибкой:
«Не удалось настроить crtc 0».
Выполнение xrandr для другого tty (с установленными переменными XAUTHORITY и DISPLAY приводит к той же ошибке.
Есть идеи на этот счет?
переменные env в xsession:
> echo $XAUTHORITY
/run/user/1000/gdm/Xauthority
> echo $DISPLAY
:0
мой сценарий:
#!/bin/bash
export XAUTHORITY=/run/user/1000/gdm/Xauthority
export DISPLAY=:0
HDMI_2_STATUS=$(</sys/class/drm/card0/card0-HDMI-A-2/status )
if [ "connected" == "$HDMI_2_STATUS" ]; then
# is connected
# video
xrandr --output LVDS-1 --off
xrandr --output HDMI-2 --auto
# debug
# echo $? >> /tmp/foo
else
# not connected
# video
xrandr --output HDMI-2 --off
xrandr --output LVDS-1 --auto
# debug
# echo $? >> /tmp/foo
fi