1.什么是X Windows 系统 简单的说, X Windows 系统其实就是 Linux 上的图形界面系统。众所周知, Linux 是一种基于命令行的操作系统,本身是没有图形界面的,但是后来为了让更多的人喜欢 Linux ,人们就专门 开发了一种图形界面系统,因为在英文字母表中 X 排在 Windows 的首字母 W 之后,所以人们玩笑式的将它命名为“X Windows” 。与微软的 Windows 图形界面不同, X Windows 系统并没 有集成在 Linux 操作系统的内核中,而仅仅是 Linux 系统上的一套应用程序罢了,所以你是可以自由安装和卸载 X Windows 的,而微软的图形界面由于集成在内核中,所以是不能自由卸载的 。 虽然 X Windows 的出现,让很多习惯了 Windows 的 Linux 新用户们可以利用鼠标,比较快速的上手。但是由于 X Windows 只是 Linux 的一套组件,所以它的稳定性经常令很多 Linux 老鸟 们叫苦不迭,同时 X Windows 也占据了大量宝贵的硬盘空间,而且它消耗系统内存,影响系统的性能。因此, XWindows 也被很多习惯了 Linux 命令行下的高效操作的高手们斥为垃圾。 尽管 X Windows 系统本身存在着这样或那样的缺点,但是不得不承认 XWindows 系统本身的确是一个非常优秀的设计。它独具匠心的将窗口系统分成X server 和 X client 两部分,再用 X 协议将这两个部分连接起来。这种设计使X Windows 尤其适合工作在以网络为核心的系统中,所以,直到现在它仍然作为服务器和工作站上的工业标准。 2.X Windows 系统的结构 X Windows 分成以下两个部分: X server :主要负责与本机的硬件设备打交道,比如屏幕的显示工作,检测输入设备等。 X client :主要负责处理来自 X server 发来的消息,并将处理的结果反馈给 X server 。 为了让大家更进一步的了解 X Windows 系统的结构,我们可以想象一个常见的动作。你用鼠标在绘图板上画了一条直线,虽然看上去很简单,但这个动作其实是 X server 和 X client 密切 协作的结果。首先 X server 检测到鼠标移动的动作,然后通知 X client 对这个动作进行处理,然后 X client 将处理后的结果反馈给 X server ,并由 X server 将结果显示到屏幕上。 这个设计的巧妙之处在于 X client 并不需要知道系统的硬件配置。因为它仅仅与 X server 打交道,所以你可以在网络中远程连接不同硬件、不同操作系统电脑中的 X client ,并通过本 机的 X server 在自己的屏幕上将远程主机上的X client 处理后的数据显示出来。 3.X 协议 X server 和 X client 之间的通讯,是靠 X 协议来支持的。与 HTTP 协议等其它的协议一样, X 协议仅仅是人们制定的一个标准,一个规定,并不是一个具体的应用程序。我们通常所说的 X 11R6 实际上就是 X Protocol version 11Release 6 ,也就是 X 协议的一个版本,并不是一个具体的软件。 X Windows 系统中有专门的软件来实现 X 协议,比如说: XFree86 和Xorg 等。它们之间的关系就像是法律与法官之间的关系一样:法律给法官一个标准;法官依照这个标准来维护法律的尊严 。 4.什么是窗口管理器 顾名思议,窗口管理器的作用就是管理窗口的。它负责控制窗口的移动,窗口的大小,窗口的重叠显示;管理虚拟桌面,设置桌面背景等工作。没有它,你的窗口就会一个堆一个,不能移动,不能 改变大小,甚至连窗口标题都没有。常用的窗口管理器有: metacity , kwin , compiz , fvwm ,englightenment 等。 5.Gnome 和 KDE 桌面环境 它们将包括窗口管理器等很多应用程序集成在一起,形成了一个完整的图形操作环境。这两个桌面环境的根本区别,体现在两者所使用的图形界面库是不同的。 KDE 使用的是 Qt ,而 GNOME 使用的是 GTK 。但是为了保持Linux 的一致性,在这两个环境下开发的应用程序是彼此兼容的,也就是说在其中任何一个环境下开发的程序完全可以应用在对方的图形环境下。
|