我想编写一个脚本来防止计算机通过虚拟摆动鼠标来锁定。但是,我xdotool
正在使用的计算机上没有,并且由于我不是root而无法安装。有没有一种方法可以在不使用 的情况下移动光标xdotool
?
答案1
根据这回答您可以使用命令行移动鼠标指针,步骤如下:
首先你需要找到鼠标输入设备
grep mouse /proc/bus/input/devices | grep event
你应该会看到类似H: Handlers=mouse0 event7
我的情况。如果您有多个鼠标(例如触摸板),它可能会输出多于一行。重要的是event7
,这意味着您将写信给/dev/input/event7
。
然后以下代码会将鼠标指针向右移动 100 像素:
seconds=$(date +%s) type=2 # EV_REL code=0 # REL_X value=100 # 100 pixels printf '%08X%04X%04X%08X%08X\n' $value $code $type 0 $seconds | xxd -r -p | \ perl -0777e 'print scalar reverse <>' > /dev/input/event7 type=0 # EV_SYN code=0 # SYN_REPORT value=0 printf '%08X%04X%04X%08X%08X\n' $value $code $type 0 $seconds | xxd -r -p | \ perl -0777e 'print scalar reverse <>' > /dev/input/event7
我没有测试这个过程是否相当于中断锁定机制意义上的真实鼠标移动。
答案2
由于您不是 root 用户而无法安装xdotool
并不意味着您无法运行该程序,因为您不需要任何特殊权限。
只需下载并编译从源头。
如果您无法访问编译器,那么您可以直接下载适合您系统的软件包并从软件包中提取文件(首次.deb
使用时,可以使用ar
提取).rpm
rpm2cpio