我有一个 udev 规则 80-wacom.rules
SUBSYSTEM=="usb", ACTION=="add", RUN+="/usr/local/bin/wacom.sh"
wacom.sh
我的理解是,只要插入任何 USB 设备,它就会运行。
我通过在文件中记录执行时间来验证它确实被触发。
#!/bin/bash
/usr/bin/date >> /tmp/udev.log;
/usr/bin/xsetwacom set `/usr/bin/xsetwacom --list |grep -i stylus |awk {'print $6'}` MapToOutput HEAD-0;
/usr/bin/xsetwacom set `/usr/bin/xsetwacom --list |grep -i eraser |awk {'print $6'}` MapToOutput HEAD-0
我已经验证,只要插入设备,它就会将时间戳写入日志文件,但关键的其他两行代码没有执行。
当我直接执行脚本时,时间戳出现在日志文件中,另外两行代码按预期执行。
所以 udev 规则运行。脚本运行。但 udev 规则运行的脚本未按预期执行。我尝试在脚本开始时添加延迟,但这并不能解决问题。
我不知道该怎么做。任何见解将不胜感激。