我想在连接外部鼠标时自动禁用触摸板,在没有鼠标时启用它。我已经尝试使用过,touchpad-indicator
但是如果计算机在连接了鼠标的情况下进入睡眠状态并且在断开鼠标的连接后被唤醒,则该操作将失败。
我试图将以下脚本制作成守护程序来解决此问题,但无法正常工作:
#!/bin/bash
declare -i TID
declare -i MID
TID=`xinput list | grep -Eo 'Touchpad\s*id\=[0-9]{1,2}' | grep -Eo '[0-9]{1,2}'`
MID=`xinput list | grep -Eo 'Mouse\s*id\=[0-9]{1,2}' | grep -Eo '[0-9]{1,2}'`
if [ $MID -gt 0 ]
then
xinput disable $TID
else
xinput enable $TID
fi
我试过了 start-stop-daemon -S -x ./myscript.sh -b
和 setsid ./myscript.sh >/dev/null 2>&1 < /dev/null &
和nohup ./myscript 0<&- &>/dev/null &
连./myscript.sh &
所有这些都返回一个4位数字,我猜应该是已启动进程的PID,但是当我启动lxtask时,即使我勾选“查看所有进程”,也没有使用此PID的进程。而且,当然,它不起作用!
xinput
需要一个正在运行的X服务器,并且大多数作为守护程序来运行东西的方法都不了解X,也无法连接到X。第三,为什么要始终解释要执行的操作的主要原因通常是解决方案某人正在尝试申请的申请实际上并不是完成申请的方式,您最终会提出错误的问题,通常称为XY问题。