Linux 下用命令行工具 xdotool 模拟图形界面的鼠标键盘操作
最近发现一个叫 xdotool 的 Linux 工具,可以用来在命令行下操作鼠标移动、点击以及键盘输入,同时也支持窗口管理动作比如切换窗口,移动窗口等。1
至于我为什么找这个工具的原因是这样的。我们的这边团队开发任务管理用的是一个基于 Web 的应用,工程师登录到网页中更新任务时间,然后服务器会自动产生进度状态报表。为了提高开发进度的透明度,我把这个报表投放到办公室墙上的电视机上,大家抬头就能清楚的看到开发进展。电视机通过一个 RaspberryPi 自动连到服务器获取进度报表,并展示在全屏浏览器中。
那么问题来了,有时候自动打开的网页需要按一个登录按钮才能登录进去,但是我们的电视机和 RaspberryPi 是挂在墙上的,没有连接鼠标和键盘。为了可以通过远程 ssh 的终端去虚拟鼠标移动和点击动作,就需要一个命令行操作鼠标键盘的工具。所以就找到了 xdotool。
1 安装
安装非常方便,在 Debian 系统里只要运行如下命令即可:
pi@maserati ~ $ sudo apt-get install xdotool
2 使用
以下命令移动鼠标动 1050 85 的位置(我们网页程序登录按钮所在的位置),然后点击鼠标左键:
pi@maserati ~ $ xdotool mousemove 1050 85 click 1
如果是远程 ssh 登录到 Linux 终端还需要设置显示器变量:
pi@maserati ~ $ export DISPLAY=:0.0
不然会报如下错误:
pi@maserati ~ $ xdotool mousemove 1050 85 Error: Can't open display: (null) Failed creating new xdo instance