点滴记忆---观雨亭
X11-Forwarding[转]
2023-1-1 eehello

转自:https://blog.csdn.net/weixin_41668084/article/details/113361765

https://blog.csdn.net/qq_35158197/article/details/123302824

https://linuxhint.com/configure_ssh_x11_forwarding_debian_10/


一、问题描述

当我们使用MobaXterm连接远程服务器,连接成功页面显示几个列表,其中包括X11-Forwarding,并且显示服务器禁用。那么它到底是什么东西呢?


二、什么是X11(X协议原理简介)

    Linux 本身是没有图形化界面的,所谓的图形化界面系统只不过中 Linux 下的应用程序。这一点和 Windows 不一样。Windows 从 Windows 95 开始,图形界面就直接在系统内核中实现了,是操作系统不可或缺的一部分。Linux 的图形化界面,底层都是基于 X 协议。

2.1.X 协议由 X server 和 X client 组成:

    X server 管理主机上与显示相关的硬件设置(如显卡、硬盘、鼠标等),它负责屏幕画面的绘制与显示,以及将输入设置(如键盘、鼠标)的动作告知 X client。
    X client (即 X 应用程序) 则主要负责事件的处理(即程序的逻辑)。

2.2.案例说明

    举个例子,如果用户点击了鼠标左键,因为鼠标归 X server 管理,于是 X server 就捕捉到了鼠标点击这个动作,然后它将这个动作告诉 X client,因为 X client 负责程序逻辑,于是 X client 就根据程序预先设定的逻辑(例如画一个圆),告诉 X server 说:“请在鼠标点击的位置,画一个圆”。最后,X server 就响应 X client 的请求,在鼠标点击的位置,绘制并显示出一个圆。

三、什么是X11 Forwarding

许多时候 X server 和 X client 在同一台主机上,这看起来没什么。但是, X server 和 X client 完全可以运行在不同的机器上,只要彼此通过 X 协议通信即可。

于是,我们就可以做一些“神奇”的事情,在本地显示 (X server)运行在服务器上的 GUI 程序 (X client)。这样的操作可以通过 SSH X11 Forwarding 来实现。X11 中的 X 指的就是 X 协议,11 指的是采用 X 协议的第 11 个版本


X11 Forwarding
3.1.X11 Forwarding

有了X11 Forwarding,通过SSH连接并运行Linux上有GUI的程序,就像是在Windows下运行GUI程序一样方便。很多时候,这样的机制可以方便有图形显示的程序的调试。但是要实现X11 Forwording,需要具备X Server的SSH客户端,推荐使用MobaXTerm软件,默认就带X Server程序,免费的非常好用。

X Client部分,要安装一下软件包,要打开SSH的配置文件,将X11Forwarding修改为Yes。

修改SSH配置文件sshd_config

编辑 /etc/ssh/sshd_config 文件
将 X11Forwarding 和 X11UseLocalhost 前面的 # 去掉,并将 X11Forwarding 设置为 yes,X11UseLocalhost 设置为 no

#AllowAgentForwarding yes
#AllowTcpForwarding yes
#GatewayPorts no
X11Forwarding yes
#指定X11 转发的第一个可用的显示区(display)数字。默认值是 10 。
#这个可以用于防止 sshd 占用了真实的 X11 服务器显示区,从而发生混淆。
#X11DisplayOffset 10
#禁止将X11转发请求绑定到本地回环地址上
X11UseLocalhost no

安装 X11 Forwarding 相关软件

运行安装命令

sudo yum install xorg-x11-xauth xorg-x11-fonts-* xorg-x11-font-utils xorg-x11-fonts-Type1 xclock


重启 sshd 服务,并重新SSH连接

重启ssh服务

sudo systemctl restart sshd.service

再次通过MobaXterm连接,会发现已经支持了X11-forwarding了


验证

运行软件xclock,弹出窗口证明成功

发表评论:
昵称

邮件地址 (选填)

个人主页 (选填)

内容