https://www.jb51.net/LINUXjishu/234709.html
进入docker。
首先要配置ssh协议,允许X11转发:
vim /etc/ssh/sshd_config
修改里面的如下内容:
X11Forwarding yes # 允许X11转发
X11UseLocalhost no # 不要让它走localhost,可能导致转发失败
AddressFamily inet # 使用Ipv4,有的地方可能ipv6不行
PasswordAuthentication yes # 允许用密码登录
PermitRootLogin yes #允许root用户登录
修改好后,要重启才能生效
/etc/init.d/ssh restart
service ssh restart
运行命令:
xhost+
MobaXterm是一个开源免费的软件,自带X server。
常见的方案是xshell 或putty 做终端,xming或xmanager做x server,一共需要两个软件,现在我们mobaXterm一个就够了。(实际是因为我用xshell + xming一直不成功,主机可以,但docker容器不行)
下载MobaXterm,打开local terminal。
ssh username@your_ip -X -p your_port
直接运行相关程序,就可以显示在本地windows了,就是交互有点慢,但至少能用。
比如:
gedit
如果没有就可以
apt-get install gedit
用mobaxterm的话就不用管这个了
参考此文
DISPLAY用来设置将图形显示到何处,格式为:
hostname: displaynumber.screennumber
权限控制
如果允许主机foo使用我这个X Server,可以使用"xhost +foo";
如果不允许主机foo使 用我这个X Server,可以使用"xhost -foo";
如果允许任何主机使用我这个X Server,简单的"xhost +"即可;
反之,"xhost -"将禁止任何主机使用我这个X Server
export DISPLAY=localhost:10.0
echo $DISPLAY
gedit
xhost +
vim /etc/ssh/sshd_config
首先把X11UseLocalhost 设为no。 就是这个有用!!
AddressFamily inet
/etc/init.d/ssh restart
service ssh restart