使用Cygwin。我在docker容器上使用ubuntu,但如果没有包含Ubuntu,这将很容易工作,也就是说,在同一台windows机器上使用完整的ubuntu机器。
忽略主机容器的IP项。主机容器IP == Ubuntu机器IP。
Ubuntu主机容器IP 192.168.1.20 同一局域网内的远程windows机器IP 192.168.1.4
在ssh ubuntu conatiner上:sudo vim /etc/ssh/sshd/config : restart ssh server onubuntu X11UseLocalhost no
在运行Cywin X server的远程windows机器上
1.打开cgywin bash 2.cd /cydrive
2. bash startx – -listen tcp &
3.export DISPLAY=192.168.1.4:0.0
4.xhost + 192.168.1.20
5. 在步骤3中通过运行cmd启动的X term上,执行与步骤4和5相同的操作
6. 在xterm上执行ssh -Y
要么使用putty。IP地址为docker主机192.168.1.20和ssh端口22
启用端口转发SSH —/> X11勾选启用端口转发。在同一选项卡中使用显示位置远程windows机器192.168.1.4:0.0,远程Ubuntu容器将在其上抛出其显示10.单击连接,输入凭证并运行一个xll-GUI像xeyes
9。在192.168.1.4:0.0远程windows机器上会出现两个eyea,不使用linux显示。
所以不需要在Ubbuntu上单独安装完整的X11服务器,保持conatiner的轻量级
哦,对了,对于xeyes,你需要安装一些x-11 GUI应用程序,sudo apt-get install x11-apps
确保你在xeyes中安装的应用程序不会阻塞shell。
在Xterminal上,你可以做和putty.ssh一样的事情 -Y wasadmin@192.168.1.20。在Xterminal上,你可以像在putty.ssh中一样做-Y。-Y标志是可信端口转发所需要的。