2012-04-12 98 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

相關問題