2013-03-18 80 views
1

此脚本用于检测插入鼠标并禁用/启用触摸板。synclient无法从udev规则中运行

这是触发该脚本的udev规则:

ENV{DEVTYPE}=="usb_device", ACTION=="add", RUN+="/usr/local/bin/enable-disable-touchpad-when-add-remove-mouse.sh" 

的问题:当由udev规则调用的命令synclient是行不通的。

有趣的是,脚本确实运行并在插入或移除鼠标时写入日志(我可以尾巴-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下运行?

回答