首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >synclient不适用于udev规则

synclient不适用于udev规则
EN

Stack Overflow用户
提问于 2013-03-19 07:07:56
回答 1查看 468关注 0票数 1

此脚本用于检测插入鼠标,以及禁用/启用触摸板。

这是触发脚本的udev规则:

代码语言:javascript
复制
ENV{DEVTYPE}=="usb_device", ACTION=="add", RUN+="/usr/local/bin/enable-disable-touchpad-when-add-remove-mouse.sh"

问题是:命令synclient在被udev-rule调用时无法工作。

有趣的是,当鼠标插入或移除时,脚本确实会运行并写入日志(我可以跟踪-f日志并看到它的运行)。

当我从shell中手动运行该脚本时,它在任何用户(也包括root)帐户下都可以正常工作。这是脚本

代码语言:javascript
复制
#!/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下运行吗?

EN

回答 1

Stack Overflow用户

发布于 2014-03-30 08:26:44

您需要环境变量DISPLAY和XAUTHORITY。在X终端中,它们被设置。

您可以在脚本或udev规则中设置它

https://wiki.archlinux.org/index.php/Touchpad_Synaptics#Disable_touchpad_upon_external_mouse_detection

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/15488659

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档