2012-04-12 50 views
7

我在Windows上使用Git Bash。 我已经使用Git Bash SSH进入UNIX机器,并试图用GUI来运行程序。 我得到的消息: 检测到LINUX/UNIX系统,但无法访问X11显示。X会议在Windows上Git Bash?

我有X-Win 32(商业版)。我也使用了Xming,它像X-Win 32的免费版本,但是在某些图形上有问题。

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

我只是想在Windows上通过Git Bash通过SSH进入该机器的时候,从UNIX机器运行带有GUI弹出的MATLAB程序。

我也安装了PuTTY和安全Shell客户端,但宁愿单独工作Git Bash,因为它需要较少的按钮才能按ssh到其他机器。

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

+0

有两件事:1.您需要在Xming(如'-ac')[不推荐]和2.您需要可控制的访问控制。2.您需要设置DISPLAY指向尝试连接时Xming正在运行的IP。 – Stanislav 2017-05-22 09:20:31

回答

0

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

+0

非常感谢您的回复。我试过:ssh -X [email protected],然后xclock,它说“错误:无法打开显示”。我可以通过连接 - > SSH-> X11并选择“启用X11调谐”并将显示位置设置为127.0.0.1:0(即我自己的机器, PuTTY正在运行)。感谢您的建议。它能够从Git Bash做到这一点仍然是理想的 - 为什么你不推荐它? – user1271772 2012-04-13 00:56:31

+0

我不会推荐它,因为从我的理解git bash只存在给你一个方便的命令行git在Windows上。即使你能够实现它,我怀疑X转发是在开发者的雷达上。 – 2012-04-13 14:27:11

1

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

+0

非常感谢您的回复。我试过:ssh -X [email protected],然后xclock,它说“错误:无法打开显示” – user1271772 2012-04-13 00:51:51

0

你的问题是,你以某种方式必须将XAuthority数据传送到远程主机。通常情况下,SSH会为你做这件事,但前提是它是以正确的环境变量开始的。基本上你需要弄清楚xauth数据的位置并把这个路径放到XAUTHORITY环境变量中。 DISPLAY很可能是“:0.0”。

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

3

我能做到这一点使用腻子的Xming http://sourceforge.net/projects/xming/

只需启动的Xming,使腻子的选项X会话转发。

+0

它也适用于git-bash和xming,至少对于'xclock'。在ssh之前,只需要将显示设置为'localhost ...'。 – mulllhausen 2016-04-08 04:17:18

11

这Q是比较旧的,但无论如何... 我(终于......)能够得到这个使用ssh命令从Git for WindowsXMing工作。我所要做的就是将DISPLAY环境变量设置为localhost:0.0(它仅设置为:0.0)。

+0

如何在Git Bash中编辑环境变量?或者你是否在ssh中执行此操作?谢谢 – Anon343224user 2013-09-19 16:58:06

+2

把'export DISPLAY = localhost:0.0'放到'$ HOME/.bashrc'中。 – 2013-09-20 06:34:39

+1

我通过系统环境变量添加了这个窗口,它适用于我。 – 2014-02-03 22:37:07

6

Xming的另一种替代方法是使用Visual Studio C++构建的VcXsrv。 Xming的最新版本现在需要捐赠。

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

+0

这篇文章适合我。 – jdhao 2018-03-02 07:25:22

相关问题