2013-03-18 60 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下運行?

回答