此脚本用于检测插入鼠标,并禁用/启用触摸板。
这是触发脚本的 udev 规则:
ENV{DEVTYPE}=="usb_device", ACTION=="add", RUN+="/usr/local/bin/enable-disable-touchpad-when-add-remove-mouse.sh"
问题:当被 udev-rule 调用时,命令 synclient 不起作用。
有趣的是,当插入或移除鼠标时,脚本确实运行并写入日志(我可以tail -f 日志并看到它运行)。
当我从 shell 手动运行该脚本时,该脚本在任何用户(也是 root)帐户下都可以正常工作。这是脚本
#!/bin/bash
let x=`lsusb | grep -i logite | wc -l`+`lsusb | grep -i mouse | wc -l`
echo `id` >> /tmp/usblog2
if [ $x -gt 0 ]
then
echo touch off >> /tmp/usblog2
/usr/bin/synclient touchpadoff=1
else
echo touch on >> /tmp/usblog2
/usr/bin/synclient touchpadoff=0
fi
关于为什么 synclient 不在 udev 下运行的任何猜测?