MobaXterm里的X11-forwarding
Linux系统也是有图像界面的。它的方式和Windows不一样,叫做 X Window,采用的是X11协议。X11 中的 X 指的就是 X 协议;11 指的是采用 X 协议的第 11 个版本。
原理图如上。那么我们使用客户端来登陆到一个服务器时,做图像界面展示时,哪个是X client,哪个是X server呢?
答案是客户端是X server,比如我们用MobaXterm登录服务器,MobaXterm就是X Server,而Linux服务器是X Client哦~
当我登陆我的ECS时,最开始这个图像界面是不可用的:X11-forwarding : ✘ (disabled or not supported by server)。
也就是说当我在服务器上运行一个要展示图形界面的程序,结果会是失败的,就像下面这样:
[root@ecs-d589 ~]# xclock
Error: Can't open display:
那么要怎么办呢?实际上在两个地方操作就可以,一个是安装X认证包,一个打开ssh转发。
安装X认证包的命令是: yum install xorg-x11-xauth
它的描述如下:
Summary : X.Org X11 X authority utilities
Description : xauth is used to edit and display the authorization information used in connecting to an X server.
打开ssh转发的方法是编辑 /etc/ssh/sshd_config
:
#AllowAgentForwarding yes
AllowTcpForwarding yes #这里打开
#GatewayPorts no
X11Forwarding yes #这里原本就是打开的
#X11DisplayOffset 10
#X11UseLocalhost yes
#PermitTTY yes
然后重启sshd服务:
[root@ecs-d589 ~]# service sshd restart
Redirecting to /bin/systemctl restart sshd.service
并且退出登录后重新登录。
可以看到首先提示X11-Forwarding就是已经正常打开,然后我们在服务器上运行一个简单的程序xclock,就可以在屏幕上正确的将该程序的时钟图形界面显示出来。
另外登录后多了一个报错提示如下,我们暂且可以不用去管它。
/usr/bin/xauth: file /root/.Xauthority does not exist
- 点赞
- 收藏
- 关注作者
评论(0)