18

我在 Windows 上使用 Git Bash。我使用 Git Bash 通过 SSH 连接到 UNIX 机器,并尝试使用 GUI 运行程序。我收到消息: LINUX/UNIX system detected, but unable to access X11 display

我有 X-Win 32(商业版)。我也使用过 Xming,它类似于 X-Win 32 的免费版本,但在某些图形方面存在问题。

有没有办法让这个远程系统通过 X-Win 32 或 Xming 或任何方式访问我的 X11 显示器?

当通过 Windows 上的 Git Bash SSH 进入该机器时,我只想从 UNIX 机器上运行像 MATLAB 这样的程序,并弹出一个 GUI。

我还安装了 PuTTY 和 Secure Shell 客户端,但更喜欢仅从 Git Bash 工作,因为它需要更少的按钮来按下以 ssh 到其他机器。

如果无法在 Git Bash 上使用它,我想让它与 PuTTY 一​​起使用(Secure Shell Client 很好,但已永久停止更新)。

4

6 回答 6

18

这个 Q 相当老了,但无论如何......我(终于......)能够使用来自and的ssh命令来完成这个工作。我所要做的就是将环境变量设置为(它被设置为 only )。Git for WindowsXMingDISPLAYlocalhost:0.0:0.0

于 2013-01-21T12:23:06.720 回答
12

Xming 的替代方案是使用 Visual Studio C++ 构建的VcXsrv 。最新版本的 Xming 现在需要捐款。

将鼠标指向状态栏中的 X 图标,然后找出它在哪个端口上运行。如果是:0.0(或:25.0),那么在 Git Bash 中:(export DISPLAY=localhost:0.0export DISPLAY=localhost:25.0)。您可能还需要使用ssh 命令来-Y代替。-X

于 2016-01-02T02:05:00.600 回答
3

我能够使用 putty 和 xming http://sourceforge.net/projects/xming/来完成此操作

只需启动 xming 并在 putty 的选项中启用 x 会话转发。

于 2012-04-28T07:04:33.380 回答
1

在使用 SSH 连接之前,您必须启动 X 服务器。当您连接到另一个盒子时,您必须将-X交换机包含在 SSH 中。这将告诉 SSH 将 X11 应用程序输出转发到您的 Windows 机器。

于 2012-04-12T18:19:53.590 回答
0

您可以尝试在 git bash 中将 -X 开关添加到您的 ssh 命令。我不确定这是否可行。但是,这不是我建议的方法。相反,我建议您使用 putty 研究 X 转发。您应该能够找到有关如何通过快速搜索进行设置的各种指南。

于 2012-04-12T18:19:11.077 回答
0

您的问题是,您必须以某种方式将 XAuthority 数据传递到远程主机。通常 SSH 会为您执行此操作,但前提是它以正确的环境变量启动。基本上,您需要找出 xauth 数据的位置并将该路径放入 XAUTHORITY 环境变量中。DISPLAY 很可能是“:0.0”。

我认为最直接的解决方案是使用 Cygwin 和它附带的 X11 服务器,因为它的 X 启动脚本将打开一个 xterm,您可以从中通过 SSH 连接到远程机器。

于 2012-04-13T19:32:35.410 回答