Jason's Blog

December 6, 2024

X11 : ssh to make GUI work

documentation0.6 min to read

问题描述

image

接上篇,如图所示,在我尝试将docker界面中的GUI图形界面转发到本地计算机时,出现了问题。

Linux服务器上能够正常进行X11的转发,但是一直尝试如何将docker镜像中的Xclock展示到本地计算机

查遍全网没有类似的背景,所以探索了很久。

问题关键

问题的关键在于如何正确理解DISPLAY的作用,以及通过ssh -X打开图形转发。

#运行docker的时候需要进行端口的绑定,将你的端口绑定到22端口才能正常登陆。
docker run -p 50003:22 -e DISPLAY=$DISPLAY

#在docker环境中,开启ssh服务
service ssh start

接着需要在另一个窗口,从服务器端ssh -X docker镜像

#在LINUX服务器,-X表示启动图形转发
ssh -X root@172.17.0.2 -p 50003

我们分别输出并查看各机器上的DISPLAY


echo $DISPLAY

docker: localhost:11.0
Linux: 127.0.0.1:11.0
local: 127.0.0.1:10.0

最终图形将先从Docker镜像转发到Linux服务器,Linux服务器再将图形转发到local,最终完成图形的可视化展示。