问题描述:
1、在服务器作为服务端使用ui界面,ubuntu客户端无法显示;
2、使用ssh -X ...登录时,出现X11 forwarding request failed on channel 0;
解决思路:
0、首先知道宿主主机与容器之间的端口映射,如5001:55,这种情况,需要在容器端ssh配置文件中加入Port 55 ,并且设置X11的客户端的DISPLAY;
1、查看是否都安装了openssh-client、openssh-server,否则使用命令安装:
sudo apt install openssh-server
sudo apt install openssh-client
2、出于安全原因,OpenSSH服务默认将X11转发请求绑定到本地回环地址上,并且在DISPLAY环境变量中将主机名设置为“localhost”。在这样的设定下,一些 X11客户端不能正确处理X11转发,这会导致报告中的错误。要解决这个问题,在/etc/ssh/sshd配置文件中加入下面这几行:
sudo vi /etc/ssh/sshd_config
X11Forwarding yes
X11UseLocalhost no
重启ssh:
sudo /etc/init.d/ssh restart
3、在VSCODE中断开连接,重新登录;(-X注意大小写)
格式如下:
Host ****名字随便
HostName 宿主主机的ip
ForwardX11 yes
User 用户名,可以是root
Port 宿主主机的端口(容器中会有端口映射,如5002:55,要在容器端sshd配置文件中加入对端口55监听)