加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > Linux > 正文

linux服务器通过X11实现图形化界面显示

发布时间:2020-12-14 00:20:16 所属栏目:Linux 来源:网络整理
导读:1? 背景描述 有些LINUX服务器出于性能和效率的考虑,通常都是没有安装图形化界面的,那么图形化程序在服务器上压根儿就跑不起来,或者无法直接显示出来,这就很尴尬了!那么如何解决这个问题呢?可以基于X11 Forwarding技术?+ MobaXterm?工具,就可以轻松搞

1?背景描述

有些LINUX服务器出于性能和效率的考虑,通常都是没有安装图形化界面的,那么图形化程序在服务器上压根儿就跑不起来,或者无法直接显示出来,这就很尴尬了!那么如何解决这个问题呢?可以基于X11 Forwarding技术?+ MobaXterm?工具,就可以轻松搞定,似不似很简单?

2?原理介绍

2.1?X协议

?

?

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

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

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

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

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

2.2?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?个版本。

2.3?MobaXterm

?

那?MobaXterm?又是什么鬼?MobaXterm?是一款开源、免费的、全功能终端软件。它与?PuTTY?类似,但却比?PuTTY?要强大得多,其中一个很实用的功能就是?MobaXterm?自带?X Server。这样我们就不用劳神地去想怎么在?Windows?上启动?X server?了。

小结一下,整个实现逻辑就是:

本地机器采用?MobaXterm (自带?X server)?连接远程服务器。然后,在服务器上运行?GUI?程序?(即?X client),通过?SSH X11 Forwarding,转发到本地?(Windows?机器上)。

3?实战介绍

3.1?服务器端(LINUX7.x)

3.1.1?修改SSH配置

[[email?protected] ~]# cat /etc/ssh/sshd_config

X11Forwarding yes

X11UseLocalhost no -- 禁止将X11转发请求绑定到本地回环地址上

AddressFamily inet -- 强制使用IPv4通道

3.1.2?重启SSH服务

service ssh restart

3.2.1?Windows下连接Linux的ssh工具—MobaXterm

作为一个Windows操作系统用户,如果想要连接Linux服务器来进行文件之间的传送,那么需要一个Secure Shell软件(简称SSH的)。
MobaXterm,是一款增强型终端、X服务器和Unix命令集(GNU/ Cygwin)封装在一个单一的便携式exe文件。MobaXterm可以开启多个终端视窗,以最新的X服务器为基础的X.Org,可以轻松地来试用Unix / Linux上的GNU Unix命令。这样一来,我们可以不用安装虚拟机来试用虚拟环境,然后只要通过MobaXterm就可以使用大多数的linux命令。
它不仅可以像PuTTY一样通过SSH连接Raspberry Pi等开源硬件,并且还能:?

  • 内建多标签和多终端分屏?
  • 内建SFTP文件传输?
  • 内建X server,可远程运行X窗口程序?
  • 直接支持VNC/RDP/Xdmcp等远程桌面?
  • 默认的UTF-8编码?
  • 更加友好的串口连接设置?
  • 操作更明确,更少的“神秘技巧”

什么是X11?

X Window System 常被简称为X11或X,其功能包括窗口的绘制、移动,以及与鼠标、键盘等输入设备的交互。相信很多新手都知道startx这个命令,没有X11的话就只能对着黑乎乎的屏幕敲命令了。?
它采用C/S模型:一个X server 和多个应用程序(client)通信。server接收client的请求绘制窗口,并将来自鼠标、键盘等设备的输入传递给client。?
X server和client可以位于同一计算机上,就类似于平时使用的Windows操作系统;当X server和client不在同一计算机时,使用本地的X server 进行绘制、交互,就变成了远程桌面。?
举个例子:前者是你在披萨店点了一份披萨,店员在你旁边帮你做好拿给你(这家店相当于同一台计算机);后者是你在网上叫了一份披萨,店员接单后到你家帮你做了一份披萨(注意:VNC是使用店里厨房,做好给你送过来;X转发是使用你家厨房做披萨)?
不理解也没关系,会用能达到目的就好了。Via?
常用X Server有免费的Xming、收费的Xmanager(非常棒的Xshell终端软件也是他家出的,家庭教育用户免费使用) 等;上述需要手动配置,然而有了MobaXterm,一切都变得超级简单!

软件可以通过官网进行下载:

MobaXterm官网:https://mobaxterm.mobatek.net/

3.2.3?SSH连接服务器

?

?

3.2.4?执行xclock程序

已经弹出xclock图形界面了,似不似很简单,似不似很Easy,那就一起实践下吧:)

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读