我正在尝试在 Ubuntu 20.04 LTS 上通过 ssh 使用 xdotool。在本地登录时,它可以在终端窗口中完美运行,但是通过 ssh 会显示使用任何命令的以下错误:
$ xdotool click 1
Error: Can't open display: (null)
Failed creating new xdo instance
查找此错误,人们建议的修复是在运行之前导出 DISPLAY 变量,但对我而言,这只会导致在错误消息中添加新行:
$ export DISPLAY=:0.0 && xdotool click 1
No protocol specified
Error: Can't open display: (null)
Failed creating new xdo instance
为 xdotool 寻找“未指定协议”错误,我能找到的唯一其他建议export XAUTHORITY=/home/[username]/.Xauthority
也是添加到命令中,但这对我来说没有任何区别。可能值得注意的是,我的主目录中也没有 .Xauthority 文件(创建一个空文件只是为了看看它是否有所作为并没有帮助)。我对 X 服务器的东西不是很熟悉,所以我不知道这些东西是否已经改变,因为我找到了写在哪里的结果。
我将不胜感激任何试图让它发挥作用的建议。
已解决:正如 N0rbert 所指出的,我在通过 SSH 连接时缺少 -X 选项。这就是我需要包括的所有内容。
您必须
ssh
使用-X
如下选项运行:然后像往常一样执行“图形”命令。
问题是这将控制通过 SSH 连接的系统,而不是您要控制的主机。例如,我使用 ssh -X [email protected] 登录,然后告诉 xdotool 移动鼠标而不是在服务器上移动鼠标,它在连接的客户端上移动鼠标。