我有 2 个 Linux 盒(S1 - 192.168.0.98 和 C1 - 192.168.0.76)和一个 Windows 7 盒(W1 - 192.168.0.91)。
其中一台 Linux 机器(S1)设置了 SSH 和 X 转发,而 Windows 机器(W1)在 0.0.0 上有 Xming 服务器。
我可以在 Windows 框(W1)上运行 Putty,然后运行 xeyes,它显示正常。
在第二个 Linux 机器 C1) 上,我无法通过 ssh 运行远程 x。
我可以通过 ssh -X 从 C1 登录到 S1,但是当我运行图形程序时,它不会显示在远程机器上,它只是呆在那里,直到出现“无法打开显示:192.168.0.76:0.0”。
我究竟做错了什么?
答案1
您的错误消息“无法打开显示:192.168.0.76:0.0”听起来不像是正在使用 SSH X11 转发。相反,远程主机上的程序正在尝试连接直接地到 C1,由于很多原因,它不会工作(Xorg 默认不监听 TCP 连接;你的防火墙阻止它们;Xauth 数据未正确发送……)如果 X11 转发有效,那么 $DISPLAY 将指向相同的机器(localhost),显示数字将从:10 开始。
首先,检查 C1 上的 $DISPLAY 值,并确保 C1 上的客户端可以连接到 X 服务器。
然后使用重试连接 C1→S1 ssh -X -v -v S1
,并确保没有关于 X11 转发的错误消息;它可能在服务器上被禁用。(如果您使用 PuTTY 连接,则按 Ctrl 键并右键单击控制台并选择“事件日志”。)
要查看服务器日志,请添加LogLevel DEBUG2
到 /etc/ssh/sshd_config 并重新启动 sshd。
答案2
最有可能 - 在 C1 的 putty 配置中,您是否选中了“启用 X 转发”(在连接->SSH->X11 下)。
另外,C1 上是否设置了 DISPLAY 环境变量?