1

Тема: Manjaro, udev rules не запускають скрипт з xrandr

Вітаю.
Я хочу налаштувати собі автоматичну зміну налаштування екранів, коли впихую, або випихую hdmi кабель з ноута.
Всередині /etc/udev/rules.d я маю файл 95-hdmi-plug.rules

KERNEL=="card0", ACTION=="change", SUBSYSTEM="drm", ENV{DISPLAY}=":0", ENV{XAUTHORITY}="/home/fakinyan/.Xauthority", RUN+="/bin/bash /home/fakinyan/.config/hdmi.sh"

А hdmi.sh виглядає так

#!/bin/bash

CONNECTED=$(xrandr | grep -w -P 'HDMI.+ connected')

LEN=${#CONNECTED}

if [[ $LEN -ne 0 ]];
then 
    XAUTHORITY=/home/fakinyan/.Xauthority DISPLAY=":0.0" /home/fakinyan/.screenlayout/wide_screen.sh
else
    XAUTHORITY=/home/fakinyan/.Xauthority DISPLAY=":0.0" /home/fakinyan/.screenlayout/laptop.sh
fi

коли я запускаю цей скрипт вручну, то він працює без проблем, але коли я впихую і випихую hdmi кабель, то нічого не відбувається, так, ніби цей скрипт не запускається.

Як це побороти, і зробити, аби скрипт запускався?

2

Re: Manjaro, udev rules не запускають скрипт з xrandr

Щоб перевірити, чи скрипт запускається, додайте туди мінімальний логінг типу

echo "$(date) HDMI switched to $CONNECTED" >> /root/log.txt

Чи хоча б touch.

Ну і я давно не під лінуксом, але здається ж Xorg працює під окремими користувачами окремо. Тобто вам треба цей скрипт запускати від свого імені, а не просто з XAUTHORITY.

Подякували: FakiNyan, leofun012

3

Re: Manjaro, udev rules не запускають скрипт з xrandr

koala написав:

Щоб перевірити, чи скрипт запускається, додайте туди мінімальний логінг типу

echo "$(date) HDMI switched to $CONNECTED" >> /root/log.txt

Чи хоча б touch.

Ну і я давно не під лінуксом, але здається ж Xorg працює під окремими користувачами окремо. Тобто вам треба цей скрипт запускати від свого імені, а не просто з XAUTHORITY.

А під чим ви?

І як запустити того скрипта від свого імені?

4

Re: Manjaro, udev rules не запускають скрипт з xrandr

хмм, я не бачу, аби цей файл створювався, коли я граюсь зі своїм кабелем

5

Re: Manjaro, udev rules не запускають скрипт з xrandr

запрацювало, коли поклав скрипта в /root

6

Re: Manjaro, udev rules не запускають скрипт з xrandr

FakiNyan написав:

запрацювало, коли поклав скрипта в /root

а ще можна в /usr/local/bin

Подякували: leofun011