美文网首页linux
什么是X11-forwarding?怎么使用?

什么是X11-forwarding?怎么使用?

作者: lancelea | 来源:发表于2019-12-11 16:21 被阅读0次

    在使用 MobaXterm 连接远程服务器的时候遇见了 X11-forwarding ,后面跟着一个亮眼的 红叉,如下图。强迫症看见它十分不爽,于是想办法干掉它。

    初见X11-forwarding

    什么是X11-forwarding?

    X11 中的 X 指的就是 X 协议;11 指的是采用 X 协议的第 11 个版本。
    X11-forwarding 说的简单明白点就是:可以通过一个支持 X Server 的 SSH 客户端,例如:MobaXterm。 连接到远程 Linux 服务器,可以在本地通过 MobaXterm 运行操作一个远程 Linux 服务器上有图形界面的程序。

    X 协议原理简介

    X协议

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

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

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

    X client (即 X 应用程序) 则主要负责事件的处理(即程序的逻辑)。

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

    让Linux支持X11-Forwarding

    我的使用环境:CentOS 7

    安装X11-Forwarding的支持
    $ sudo yum install  xorg-x11-xauth xorg-x11-fonts-* xorg-x11-font-utils xorg-x11-fonts-Type1 xclock
    

    这一堆安装的,实际上是X Client。其中最后的 xclock 是用来测试X11Forwarding功能的。

    修改sshd的配置
    $ sudo vi /etc/ssh/sshd_config
    X11Forwarding Yes
    $ sudo service sshd restart
    
    测试 X11-forwarding 效果

    运行以下命令测试效果,正常情况下会出现一个时钟界面。

    $ xclock
    
    xclock 界面视图

    支持 X11-forwarding 的 SSH 客户端

    • XShell 6
    • MobaXterm 11

    相关文章

      网友评论

        本文标题:什么是X11-forwarding?怎么使用?

        本文链接:https://www.haomeiwen.com/subject/kudmectx.html