Я установил пользовательское правило 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, он не работает. - Но почему?