[入门 1.9]——Linux——X Window 系统的使用

[第三章]

3. X Window 系统的使用

X Window 是Unix和Linux系统上的图形界面系统。准确的说X Window是一个标准。

X Window 是众多软件的组合体, 是一个程序库, 或者说是一个定义了图形操作环境的标准,因此任何人都可以编写符合该标准的应用软件。

GNOME和KDE都是Linux上常用的 X Window桌面系统。

3.1. Fedora 下的 X Window 系统

接下来首先介绍X Window系统的组成和它的工作原理, 然后简要介绍两种主要的集成桌面环境GNOME和KDE。

3.1.1. X Window 系统的组成与特点

整个X Window由三部分组成:

  • X Server: 控制输入、输出设备并维护相关资源的程序, 它接收输入设备的信息,并将其传给X Client;此外,也将X Client 传来的信息输出到屏幕。( 不同的显卡需要选择不同的X Server,在配置X Window 时最主要的工作就是配置X Server)
  • X Client:应用程序的核心部分, 与硬件无关, 每个应用程序就是一个X Client。 X Client可以是终端仿真器(Xterm)或图形界面程序,它不直接对显示器绘制或者操作图形, 而是与X Server通信, 由X Server控制显示。
  • X Protocol: X Client 与 X Server之间的通信协议。 X协议支持网络, 因此 X Client和X Server即可以在同一台计算机上, 也可以运行在不同机器上。(X 支持的网络协议有 TCP/IP、DECent等)

与其他图形界面系统相比X Window 特点如下:

  • 良好的网络支持: X Window 采用了C/S网络结构,…。
  • 个性化的窗口界面:X Winow并未对窗口界面作统一的规范,程序员可以根据需求自行设计, 其中最有名的就是GNOME与KDE。
  • 不内嵌于操作系统: X Window 只定义了一个标准, 而不属于某个操作系统, 因此可以在不同的操作系统上运行相同的X Window软件。

为了使X WIndow更易于使用, 各公司与组织对其作了许多集成桌面环境。几乎所有的Linux发行版本中都提供两种桌面: GNOME与KDE。

3.1.2. GNOME 简介

3.1.3. KDE简介

3.1.4. 桌面应用程序

尽管GNOME和KDE基于不同的程序库, 但底层上都是基于X Window程序库。 因此一般桌面程序既可以在GNOME上运行,也可以在KDE上运行。特别是, 大多数Linux上的软件都时GPL软件, 因而在多种发行版上都可使用。

3.1.5. 窗口管理器

X Window 系统提供给应用程序一个可以自由发挥的图形屏幕, 还有一些列可供应用程序调用的过程。 然而它无法选择在屏幕的哪个位置放置窗口, 怎样在窗口周围绘制界面,给窗口配置标题和表单,也无法支持窗口的移动、改尺寸、最大化和最小化。这些工作都需要由窗口管理器完成。

窗口管理器提供了基本的窗口操作, 使用户能够完成打开、移动、关闭、最大化/最小化窗口等操作。提供了启动应用程序的机制, 如菜单、面板和按钮等。

在Linux下可以使用多种窗口管理器, 比如Enlightenment、Window Marker、FVWM2等。这些管理器的机制类似, 下面是窗口管理器的一些基本概念

  1. 窗口

    窗口是用户运行软件、显示信息或者列出文件清单的地方。大多数窗口都包括几个基本组件如边框、标题栏、按钮、窗口菜单。在许多窗口中可能还会出现另外一些功能部件, 这些部件不是必需的,它是由应用程序本身提供的, 应用程序使用的图形库决定了它的外观。

  2. 主题

    许多窗口管理器都支持主题(Themes)。主题影响着用户桌面元素的外观, 提供不同的背景图像、动画和动作音效。

  3. 虚拟桌面和工作区

    同窗用户在屏幕上见到的只是整个桌面的一部分。可以把桌面分成不同的工作区, 每个工作区包含不同的内容, 屏幕上只显示一个工作区。好处就是以免将窗口至于一个桌面而显得杂乱无章。一个桌面最多可以有36个工作区, 初始登录后默认显示第一个工作区。(Ctrl + Alt +上下键 切换工作区)

    [入门 1.9]——Linux——X Window 系统的使用

  4. 终端窗口

    就像WIndows界面的Dos窗口一样, 在X Window图形操作界面上也可以启动控制台界面。在桌面窗口可以打开一个称为终端窗口的特殊窗口。他向用户提供了一个标准的命令行操作界面。

[入门 1.9]——Linux——X Window 系统的使用

每个终端窗口都是用自己的shell。输入exit 或者按< Ctrl+D >键可以关闭终端窗口。

参考

  • Linux系统应用与开发教程 第三版 刘海燕 荆涛 主编 第三章