Linux 图形用户界面

作者:Phil Hughes

人们在查看 Linux 时首先看到的东西之一是桌面,或图形用户界面 (GUI)。与大多数其他操作系统(如 MS Windows、BeOS 和 MacOS)不同,在 Linux(和 UNIX)中,您可以选择使用哪个 GUI。此外,您可以更改任何 GUI 的外观。

首先,是一个发音课程。GUI 通常发音为“gooey”,几乎从不发音为“G-U-I”。现在您知道如何显得酷了,让我们继续了解您在 Linux 中获得的 GUI。

X Window 系统

与 MS Windows、BeOS 和 MacOS(GUI 是操作系统的组成部分)不同,Linux 中的图形环境由许多部分组成。

底层部分称为 X Window 系统,或简称 X。X 本身可以分为两个部分:客户端服务器。客户端是连接应用程序的部分。另一端是服务器,它是连接到图形显示的部分。这听起来可能有点反向——将服务器视为服务显示的部分。

在下一层,我们有所谓的窗口管理器。这是向窗口添加装饰的部分,允许您执行与窗口相关的任务,例如调整大小、移动和关闭。

最后,有一个开发环境。这是允许您编写利用图形环境的应用程序的软件。让我指出,您可以使用 X 提供的功能完成所有开发,但这将比使用更高级别的工具包困难得多。

多组件设置的两个优点是

  1. 您可以在程序运行的系统之外的系统上运行显示。

  2. 您可以选择 GUI 的外观。

第一点听起来可能有点晦涩,但实际上非常简单且非常有用。假设您要使用 xv 实用程序查看的一些图片位于朋友的工作站上。假设您和您的朋友在同一网络上,您访问这些图片的选项是

  • 使用 ftp、rcp 或 scp 将文件复制到您的本地系统。

  • NFS 挂载包含图片的目录,以便您可以从您的系统访问它们。

  • 去他们的工作站并在那里查看图片。

  • 利用 X Window 系统的客户端-服务器设计。

显而易见的问题是如何利用 X 的客户端-服务器设计。第一步是熟悉 xhost 命令。通过输入

    xhost +

在您的本地计算机上,您允许其他系统写入您的显示器。有关其他选项的详细信息,请参阅 xhost 的手册页。

接下来,远程登录到包含图片的系统。您可以使用多个命令执行此操作,包括 rsh 和 ssh。(在我们的在线手册页中了解有关 rsh 和 ssh 的更多信息。)

现在您需要告诉远程系统上的 X 客户端,您希望它使用桌面上的 X 服务器来显示图像。您可以通过将名为 DISPLAY 的环境变量设置为您的桌面系统的名称或 IP 地址,后跟 :0 来完成此操作。例如,如果您的本地系统的名称是 sugarmag.ssc.com 并且您正在运行 bash 或 korn shell,您将输入

    export DISPLAY=sugarmag.ssc.com:0

现在您可以像往常一样调用 xv,只是您在远程系统上执行此操作。例如,要显示图片 coolpic.jpg,只需输入

    xv coolpic.jpg

在远程系统上。图像将显示在您的本地系统上。

选择窗口管理器

窗口管理器只是一个辅助程序,使您能够控制桌面上的窗口。与其他平台不同,您可以选择窗口管理器。

今天最流行的两个选择是 GNOME 和 KDE。两者都提供复杂的用户界面和自己的开发环境。GNOME 的出现是出于政治原因。KDE 基于的软件 Qt 工具包的许可相当严格。今天,Qt 许可已经放宽,选择更多地基于个人喜好。

如果您使用过 MS Windows 95 或 98,您会对 KDE 感到熟悉。《Linux Journal》2000 年 2 月刊登载了关于 KDEGNOME 的文章。

如果性能是一个问题——例如,您想在 486 或其他慢速机器上运行 Linux,或者只有 16MB 的 RAM——您仍然可以使用 GUI 运行 Linux。您最好看看 FVWM,这是一个功能齐全的窗口管理器,比 KDE 或 GNOME 小得多。FVWM 代表什么?嗯,“虚拟窗口管理器”部分已经很清楚了,但“F”呢?请查阅 FVWM 常见问题解答,了解一些(通常很幽默的)详细信息。另一种选择是 Motif,或其免费的同类 Lesstif。

选择开发环境

GNOME 和 KDE 都不仅仅是窗口管理器。它们决定了外观。您可以通过使用它们相关的开发环境为您的应用程序提供相同的外观。对于 KDE,开发环境是 Qt。对于 GNOME,它是 GTK+。同样,选择实际上是个人喜好和与其他应用程序兼容性的结合。

兼容性问题不是关于您是否可以在同一系统上运行基于 GTK 和基于 Qt 的应用程序(您可以)。它再次严格地是外观问题。例如,虽然 GIMP(一个类似于 Adobe PhotoShop 的位图图形处理程序)是基于 GTK 的,但它在 KDE 下完美运行。

以及更多

与往常一样,广播节目将更详细地讨论这些概念,然后继续讨论 Linux 社区最近发生的事件。请收听详细信息。

电子邮件:ljeditors@ssc.com

加载 Disqus 评论