如何使用自定义udev规则以正确的权限运行脚本?

时间:2019-04-15 08:49:57

标签: bash unix ubuntu-18.04 udev

我设置了自定义udev规则,该规则在我的蓝牙鼠标连接时触发:

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规则成功触发它时,它就会失败。 -为什么?

0 个答案:

没有答案