![Ubuntu 20.04 LTS 上通过 ssh 出现的 xdotool 错误](https://linux22.com/image/1173005/Ubuntu%2020.04%20LTS%20%E4%B8%8A%E9%80%9A%E8%BF%87%20ssh%20%E5%87%BA%E7%8E%B0%E7%9A%84%20xdotool%20%E9%94%99%E8%AF%AF.png)
我正在尝试在 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 选项。这就是我需要包含的全部内容。
答案1
您必须ssh
使用-X
如下选项运行:
ssh -X user@hostname
然后照常执行“图形”命令。
答案2
问题是这将控制通过 SSH 连接的系统,而不是您想要控制的主机。例如,我使用 ssh -X 登录[电子邮件保护]然后告诉 xdotool 移动鼠标,而不是在服务器上移动鼠标,而是在连接的客户端上移动鼠标。