MoTTY X11 proxy: Unsupported authorisation protocol Error: couldn‘t open display localhost:10.0
·
这个错误通常与 X11 转发(X11 forwarding)有关,特别是在使用 SSH 连接到远程服务器并尝试运行需要图形界面的应用程序时。以下是一些可能的解决方案:
1. 确保 X11 转发已启用
在客户端启用 X11 转发
在使用 ssh 连接时,确保使用 -X 或 -Y 选项:
ssh -X user@remote_host
或
ssh -Y user@remote_host
在服务器端启用 X11 转发
确保 SSH 服务器配置文件 /etc/ssh/sshd_config 中包含以下行:
X11Forwarding yes
X11DisplayOffset 10
X11UseLocalhost yes
然后重新启动 SSH 服务:
sudo systemctl restart sshd
2. 安装和配置 X11 服务器
确保你在本地计算机上安装了 X11 服务器。对于不同的操作系统,有不同的 X11 服务器:
- Windows: 使用 Xming 或 VcXsrv。
- MacOS: 使用 XQuartz。
- Linux: 通常已经自带 X11 服务器。
启动 X11 服务器
确保 X11 服务器正在运行。如果你使用的是 Xming 或 VcXsrv,在启动这些应用程序后,它们会在系统托盘中显示一个图标。
3. 设置 DISPLAY 环境变量
在远程服务器上,确保 DISPLAY 环境变量已正确设置。通常,SSH 会自动设置这个变量,但你可以手动设置以进行测试:
export DISPLAY=localhost:10.0
4. 检查 X11 授权
确保 X11 授权文件(例如 .Xauthority)存在并且可读。如果不存在,可以尝试重新生成:
xauth generate :0 . trusted
xauth add $(xauth list | tail -n 1)
5. 检查防火墙设置
确保防火墙没有阻止 X11 转发所需的端口。你可能需要在防火墙配置中打开这些端口。
6. 使用 -Y 选项
如果你仍然遇到问题,可以尝试使用 -Y 选项来代替 -X 选项进行 SSH 连接。这将启用受信任的 X11 转发:
ssh -Y user@remote_host
示例汇总
-
启动 X11 服务器(例如 Xming 或 VcXsrv)。
-
使用
-Y选项连接到远程服务器:ssh -Y user@remote_host -
在远程服务器上确认
DISPLAY变量已设置:echo $DISPLAY -
尝试运行你的图形界面应用程序。
通过这些步骤,你应该能够解决 MoTTY X11 proxy: Unsupported authorisation protocol 和 Error: couldn't open display localhost:10.0 的问题。如果问题仍然存在,请提供更多详细信息以便进一步诊断。
更多推荐



所有评论(0)