Как запустить скрипт с правильными разрешениями из пользовательского правила udev? - PullRequest
0 голосов
/ 15 апреля 2019

Я установил пользовательское правило udev, которое запускается при подключении моей мыши Bluetooth:

ACTION=="add" \
, ATTRS{idProduct}=="XXX" \
, ATTRS{idVendor}=="XXX" \
, ENV{DISPLAY}=":0" \
, ENV{XAUTHORITY}="/run/user/1000/gdm/Xauthority" \
, RUN+="/home/XXX/.scripts/mouse_connected.sh"

Проверка udevadm прошла успешно, все выглядит нормально. Затем я создал свой скрипт, который должен быть запущен:

#!/bin/bash  
if (xinput list | grep Maus | grep -o id=[0-9]* | grep -o [0-9]*$); 
        then xinput set-button-map "$(xinput list | grep Maus | grep -o id=[0-9]* | grep -o [0-9]*$)" 1 1 3 && logger "success";  
        else logger "fail" && sleep 3;
fi

когда я вручную запускаю скрипт в терминале, используя "bash '/home/XXX/.scripts/mouse_connected.sh'", он работает как положено. Но когда он успешно запускается через мое пользовательское правило udev, он не работает. - Но почему?

...