Udev 规则未正确执行脚本

Udev 规则未正确执行脚本

我有一个 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 规则运行的脚本未按预期执行。我尝试在脚本开始时添加延迟,但这并不能解决问题。

我不知道该怎么做。任何见解将不胜感激。

相关内容