2016-07-15 72 views
-1

我遠程Linux主機上運行的虛擬機: - > Linux主機 -如何將X11轉發到在遠程Linux主機上運行的虛擬機?

我的機器> Linux主機上運行的虛擬機

我在Linux主機上啓用X11轉發,並在虛擬機。我試圖在使用ssh命令(使用ssh -X)啓動的自己的機器上的虛擬機上運行JVisualVM。

我使用ssh命令是:

ssh -X -t [email protected]_host -L 29998:localhost:29999 ssh -X -t -i /root/.ssh/my_key [email protected]_machine -L 29999:localhost:9999 

一旦我連接的I設置顯示可變用:

DISPLAY=<my machine's ip address>:0.0 

然後我運行JVisualVM與此,期望窗口在我自己的機器上打開:

/usr/java/jdk1.7.0_95/bin/jvisualvm -cp:a /opt/jboss/bin/client/jboss-cli-client.jar --jdkhome /usr/java/jdk1.7.0_95/ 

但是,我得到一個錯誤,顯示沒有設置,或JVisual退出幾秒鐘後,錯誤代碼爲2.

+1

SuperUser.com將是這個問題的一個更好的地方。 – Barmar

回答

1

由於您使用的是ssh -X,您顯然希望通過ssh使用安全X轉發。在這種情況下,ssh應該爲您設置DISPLAY變量,您不應該通過手動設置DISPLAY來覆蓋它。如果DISPLAY沒有被ssh設置,那意味着你的ssh服務器設置禁止了X轉發(無論什麼原因),並且你應該儘可能地修復它。

如果你不想(或不能)使用SSH的X轉發,你可以使用直接連接(通過設置DISPLAY因爲你正在做的),但你也需要打開X服務器在你的機器上進行遠程連接。你在本地機器上用xhost做到這一點:

xhost <linux host address> 

不過請注意,這打開了本地計算機,以每個人的存取權限是Linux主機,或誰可以欺騙主機地址(到處都意味着基本上每個人,除非你和linux機器都在防火牆內),所以這是不是的一個好主意。

0

嘗試增加

X11UseLocalHost沒有

的/ etc/SSH/sshd_config中

相關問題