MobaXterm x11-forwarding

服务器 0

Linux系统也是有图像界面的。它的方式和Windows不一样,叫做 X Window,采用的是X11协议。X11 中的 X 指的就是 X 协议;11 指的是采用 X 协议的第 11 个版本
在这里插入图片描述
客户端是X server,用MobaXterm登录Ubuntu服务器,MobaXterm就是X Server,Ubuntu服务器是X Client
在这里插入图片描述
登陆ECS时,最开始这个图像界面是不可用的:X11-forwarding : ✘ (disabled or not supported by server)

在服务器上运行一个要展示图形界面的程序,结果会是失败的

[root@ecs-d589 ~]# xclockError: Can't open display:

安装x11

sudo apt-get install xorgsudo apt-get install xauthsudo apt-get install openboxsudo apt-get install xserver-xorg-legacy

安装xclock(图形钟表程序,用于测试)

sudo apt install x11-apps

需要打开x11转发,修改 /etc/ssh/sshd_config

AllowTcpForwarding yes X11Forwarding yes     

重启sshd服务

service sshd restart

关闭客户端防火墙(MobaxTerm运行的机器),或者开发特定端口(这个没成功,有知道的大佬欢迎留言)
在这里插入图片描述

退出MobaxTerm后重新进入
在这里插入图片描述
可以看到X11-forwarding已经正常打开,这时直接运行图形程序还不行

把鼠标放到MobaXterm的右上角
在这里插入图片描述
点击X server开启 x11 转发,127.0.0.1:0.0 下面为本地客户端ip,这时候,在服务器开启ip映射

在命令行输入,即可在本地机器调用图形界面

export DISPLAY="ip:0.0"xclock

在这里插入图片描述
如果工作是固定使用当前机器,不想每次都输入上述命令,可以在 .bashrc 中直接加入上述命令

vim ~/.bashrcexport DISPLAY="ip:0.0"

这里ip后面接的0.0的第一个0表示图形界面显示的屏幕序号,从0-10,分别对应端口6000-6010(尝试过只开放端口,没成功)

如果想在pycharm调用图形界面,则在编译器中添加DISPLAY参数即可
在这里插入图片描述

也许您对下面的内容还感兴趣: