一、简介

有些时候,有些程序可能需要依赖图形界面才能启动,例如安装Oracle时(其实oracle支持命令行安装),例如需要启动一个图形界面的浏览器如firefox。
作为服务端的系统,通常不会安装臃肿的图形界面。
那么如何在不安装图形界面的的情况下启动图形界面的?听起来很矛盾,但是实际上是可行的。

X Window System(常被简称为X11或X),是一套基于X display protocol的windowing system,X GUI环境的功能包括窗口的绘制、移动,以及与鼠标、键盘等输入设备的交互。

X采用C/S模型(这是关键):一个X server 和多个应用程序(client)通信。server接收client的请求绘制窗口,并将来自鼠标、键盘等设备的输入传递给client。 因此 X server和client可以位于同一计算机上,例如在Linux主机上使用KDE等桌面环境就是这种模式。X server也可以通过同构网络、异构网络或Internet与client通信。 X server与client之间的通信是不加密的,这个问题可以通过SSH解决。SSH是Secure Shell的简称,SSH可以看作是通信被加密压缩版的telnet。 需要用到SSH的forwarding功能,当X server与client所在计算机都支持SSH协议时,X server与client之间不安全的TCP/IP连接可以转送到(forwarding)二者之间建立的SSH连接上。

了解原理后,我们就可以在本地自建X服务,然后服务器作为X client,把绘图的请求发给本地的X server。 这样就实现了本地显示图像的目的。

二、使用教程

  1. 配置CentOS的sshd
    修改sshd配置文件:/etc/ssh/sshd_config
    找到如下配置信息并去掉前面注释:

    X11Forwarding yes

    安装所需软件包:

    yum install -y xorg-x11-xauth           #安装x11组件包        
    yum -y install wqy-zenhei-fonts*        #安装中文字库      
    yum -y install ibus-libpinyin*          #安装中文输入法
  2. 安装配置Xming
    下载并安装Xming,地址:https://xming.en.softonic.com/
    然后运行XLaunch.exe,若不知道具体参数保持默认下一步即可。

  3. 客户端配置
    使用SSH客户端登陆CentOS,建议使用Xshell或Putty。
    然后在SSH-X11转发中开启X11转发,然后在命令行运行带GUI的应用程序即可。

  4. 报错解决
    若登陆提示The remote SSH server rejected X11 forwarding request.
    那么运行以下命令:
    yum install -y xorg-x11-xauth xorg-x11-utils xorg-x11-fonts-*

    说明:使用X11 Forwarding需要安装rpm包xorg-x11-xauth,如果你在安装CentOS系统时,选择了安装X Window System,那这个包是默认安装的。

X11转发运行gedit演示:
x11转发

最后修改:2020 年 01 月 18 日 02 : 08 PM
如果觉得我的文章对你有用,请随意赞赏