我检查了论坛和谷歌,但没有找到答案。我尝试添加udev规则以在连接鼠标时禁用触摸板。首先,我写了一般规则来检查它是否有效,但不要这样做。这是规则:
ACTION=="add", SUBSYSTEM=="input", RUN+="/usr/local/bin/touchpadtoggle.sh"
ACTION=="remove", SUBSYSTEM=="input", RUN+="/usr/local/bin/touchpadtoggle.sh"
该规则位于/etc/udev/rules.d/00-touchpad.rules中
这是测试bash脚本:
#!/bin/bash
notify-send "Test"
Bash脚本运行良好。如果在命令行中键入“ /usr/local/bin/touchpadtoggle.sh”,则会显示通知。
问题是udev以root身份运行,因此以root身份而不是您的身份运行脚本。您将需要使用它作为您的真实脚本,但这就是为什么在udev运行时notify-send
不向您发送通知的原因。另外DISPLAY
,由于udev在最小环境中运行,因此还需要手动设置环境变量。
将您的脚本更改为以下内容,替换$USER
为您的用户名:
#!/bin/bash
sudo -u $USER DISPLAY=:0 notify-send "Test"
另外,为确保新规则之前已被(重新)阅读,请运行:
sudo udevadm control -R
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句