概括
我想udev
在附加某个鼠标时使用规则来调整其速度。我可以udev
触发规则,但它无法成功调整鼠标速度。但是,当我手动执行该命令时,它确实有效。我究竟做错了什么?
99-mouse-connect.rules
文件输入/etc/udev/rules.d/
ACTION=="add", \
SUBSYSTEM=="usb", \
ATTRS{idVendor}=="062a", \
ATTRS{idProduct}=="5918", \
ENV{DISPLAY}=":0", \
ENV{XAUTHORITY}="/run/user/1000/gdm/Xauthority", \
RUN+="/usr/bin/notify-send 'Adjusting MOSART mouse speed...'", \
RUN+="/usr/bin/xinput --list | /usr/bin/sed -n -E '/MOSART Semi\. 2\.4G Keyboard Mouse\s*id=.*pointer/s/.*=([0-9]+).*/\1/p' | /usr/bin/xargs -I {} /usr/bin/xinput set-prop {} 'libinput Accel Speed' -1"
它甚至显示系统通知。同样,当我手动执行最后一个命令时,它会起作用。为什么它在 udev 规则中不起作用?
我尝试过的
我尝试将命令放入单独的脚本中,并将 udev 规则中的最后四行替换为
RUN+="path/to/script.sh"
在哪里
#!/bin/bash export DISPLAY=:0 export XAUTHORITY=/run/user/1000/gdm/Xauthority /usr/bin/notify-send 'Adjusting MOSART mouse speed...' /usr/bin/xinput --list | /usr/bin/sed -n -E '/MOSART Semi\. 2\.4G Keyboard Mouse\s*id=.*pointer/s/.*=([0-9]+).*/\1/p' | /usr/bin/xargs -I {} /usr/bin/xinput set-prop {} 'libinput Accel Speed' -1
是该文件的内容。但这也行不通。
我也尝试
ACTION=="bind"
过在这里建议