帮助中心 广告联系

灵宝信息网-灵宝天气预报-灵宝教育网-灵宝租房-灵宝新闻网-灵宝生活网

热门关键词:

X Window系统简明介绍

来源:原创/投稿/转载 发布时间:2019-09-08

  首先声明一下,这是一篇蒟蒻中的蒟蒻——我一时灵感来临写的QwQ。如果你有什么不懂的问题以及本文的错误可以在下方评论,或私信我,不保证什么都懂,更多请参阅Google。

  本文主旨在于学习关于X的理论知识以及其启动过程,帮助各位在Linux GUI开发中打下基础。本文属于知识框架型,部分内容非特别细致,还需劳烦各位感兴趣的使用搜索引擎。望各位喜欢!

  X Window系统(X Window System,也常称为X11或X)是一种以位图方式显示的软体视窗系统。最初是1984年麻省理工学院的研究,之后变成UNIX、类UNIX、以及OpenVMS等操作系统所一致适用的标准化软体工具套件及显示架构的运作协定。X Window系统透过软体工具及架构协定来建立作业系统所用的图形用户界面,此后则逐渐扩展适用到各形各色的其他作业系统上。现在几乎所有的作业系统都能支援与使用X。更重要的是,今日知名的桌面环境——GNOME和KDE也都是以X Window系统为基础建构成的。

  由于X只是工具套件及架构规范,本身并无实际参与运作的实体,所以必须有人依据此标准进行开发撰写。如此才有真正可用、可执行的实体,始可称为实现体。目前依据X的规范架构所开发撰写成的实现体中,以为普遍且最受欢迎。X.Org所用的协定版本,X11,是在1987年9月所发布。而今最新的参考实作(参考性、示范性的实作体)版本则是X11 Release 7.7(简称:X11R7.7),而此专案由X.Org基金会所领导,且是以MIT授权和相似的授权许可的自由软体。

  总而言之,如果你在使用*nix系统的桌面环境,那么你就与X Window系统的关系十分密切,包括Linux。你所使用的桌面环境和带有GUI的应用程序的绝大部分都依靠着X Window系统。

  X在经过MIT(麻省理工学院)及各厂商大学等的无数版本迭代后,1987年,X的版本来到了X11,这是一个具有明显进步的版本,并取得了明显成功,几乎后来所有的分支都是基于X11开发的。时至今日,X开发的主导者有MIT、MIT X协会、X协会公司、X.Org、XFree86项目、X.Org基金会等等(依照时间排序),期间有许多授权纠纷等各种各样的问题。为了避免太长不看,此部分感兴趣的可以查看参照中维基百科的条目。

  X采用C/S架构(Client/Server,主从式架构),分为X服务器(X Server)和X客户端(X Client)。与我们的常识稍有不同,X服务器是属于控制方面的,控制显示器、鼠标、键盘等甚至显卡都属于X服务器的职责,显示的内容与X窗口管理器(X Window Manager)却属于X客户端。所以应服务器运行X客户端程序,客户机运行X服务器,正好相反。

  X客户端可以通过网络明文与X服务器联系,于是你甚至可以在Windows机器运行X 服务器与Linux机器,我就可以说我的Windows正在运行Linux程序啦(然而是事实可以的)!你只需在准备打开X客户端的终端输入export DISPLAY=[X服务器******]:[显示界面号]即可。

  为什么我要强调明文呢?明文代表着隔壁老王能很轻松并很清楚地知道你与远程服务器的PY交易在干什么,甚至银行密码等需要键盘输入的东西都能被截获!还可以发起中间人攻击!于是现在你可以通过ssh、telnet(这玩意也是明文)等远程终端进行转发,得到不被老王监控的环境。

  X服务器作为X的重要部分,掌管着显示图形界面、接受用户输入、字体渲染的重任,Xorg是一种常见的X服务器。简而言之,其流程如下:

  很容易就能发现流程基本上是相反的,所以其实X服务器和X客户端是双向、相互依存、不可分割的。

  X服务器的硬件决定了图形的渲染,例如:X服务器的显卡没有3D图形加速,那么X客户端就无法使用这项技术了。但是,许多高性能应用及显卡驱动决定直接控制本机显卡,此时X服务端就不会受到这些信息了!

本网转载作品的目的在于传递更多信息,并不代表本网赞同其观点或证实其内容的真实性,不承担此类作品侵权行为的直接责任及连带责任。如涉及作品内容、版权等问题,请联系我们进行修改或删除!

联系我们 -