备选桌面
对我来说使用体育隐喻是很危险的,因为我的专业知识仅限于知道三次击球就出局。然而,说到坐冷板凳,我可是个资深专家!大多数主要发行版都会选择一个重量级选手作为他们的桌面管理系统。GNOME 和 KDE 继续着史诗般的战斗,这场战斗保持了竞争的激烈性和我们桌面的多样性。为了纪念本月的桌面专题,我认为有必要向那些没有受到太多关注的桌面管理器和窗口管理器致敬。
在我们深入比较各种 Linux GUI 之前,重要的是要理解窗口管理器和桌面管理器之间的区别。两者之间的细微差别可能是微妙的,有时几乎不存在。窗口管理器只是在 X 服务器之上运行的程序,用于管理窗口。有些功能非常稀疏,有些则非常强大,以至于接近完整桌面管理器的可用性。
那么,什么是桌面管理器呢?嗯,它更像是一个完整的用户交互界面。它通常包括应用程序、小部件和系统集成。事实上,桌面管理器(或有时称为桌面环境)包括一个窗口管理器作为其武器库的一部分。因此,尽管 GNOME 是一个桌面管理器,但 GNOME 环境的一部分包括 Metacity,它是 GNOME 用于管理其窗口的窗口管理器。可以在仅使用窗口管理器的情况下运行 Linux 系统,正如我稍后讨论的那样,但通常 Linux 发行版默认会安装某种桌面管理器。
对于 Canonical 的 Linux 产品线来说,Ubuntu 和 Kubuntu 当然是首发球员。诚然,随着 Ubuntu 11.04 的发布,其旗舰产品将从使用标准的 GNOME 界面切换到通常仅在其上网本产品中使用的 Unity shell,但至少从历史上看,Ubuntu 一直使用 GNOME,而 Kubuntu 一直使用 KDE。Canonical 还有其官方的 Xubuntu 版本,适用于较旧或性能较低的硬件。Xubuntu 运行 XFCE 桌面管理器。尽管它确实比 GNOME 或 KDE 需要更少的资源,但许多人仍然认为 XFCE 对于较慢的硬件来说相当臃肿。还有另一个选择,Lubuntu,但它没有得到 Canonical 的官方支持。Lubuntu 没有使用 XFCE,而是使用了 LXDE 桌面环境。Lubuntu 团队声称资源消耗要少得多,所以我安装了它们两个,看看它们在日常使用中的“感觉”如何。
Xubuntu 的安装几乎与 Ubuntu 的其他所有版本一样。事实上,它几乎与 Linux 的其他所有版本一样。困难安装的日子已经一去不复返了,即使您选择使用基于文本的安装程序,该过程也非常简单——实际上,它简单到包含屏幕截图都很傻。它看起来像一个安装程序。相信我。
当前版本的 Xubuntu 令人震惊地与它们的 GNOME 同行有多么相似。事实上,10.10 版本的 Xubuntu 桌面看起来像是 Ubuntu 10.10 的略微蓝色版本。当然,这是 Canonical 的调整——非常出色地使其更轻量级的桌面看起来与其大哥完全一样。不幸的是,外观并不是 Xubuntu 与 Ubuntu 完全相同的唯一地方。图 1 显示了 Ubuntu 的全新启动安装,除了显示的终端外,没有其他程序运行。您可以看到全新启动的新安装使用了机器上安装的 512MB 内存中的大约 328MB。当我转向 Xubuntu 安装时,它运行的是 XFCE 而不是 GNOME,我期望看到启动时内存使用量要低得多。我震惊地发现 Xubuntu 使用了 325MB,几乎与 Ubuntu 安装相同(图 2)。
Xubuntu 的最大区别实际上不是桌面管理器使用了多少 RAM,而是默认安装的应用程序。当我启动 Xubuntu 的 Exaile 音乐应用程序而不是 Ubuntu 的 Rhythmbox 时,它确实使用了更少的 RAM,并且启动速度更快。但是,在 Ubuntu 上摆脱 Rhythmbox 并在其位置安装 Exaile 在 Ubuntu 下使用 GNOME 时也能获得相同的优势。事实上,尽管 Xubuntu 和 XFCE 在使用中确实感觉更快,但在我测试的每种情况下,似乎都仅仅是由于默认应用程序。如果您是 GNOME 的粉丝,那么 Xubuntu 可能会带来很大的变化,但回报却很少。保留 GNOME,安装一些更快的应用程序,您可能会获得两全其美。
事实证明,注意到 Xubuntu 并没有像它声称的那样真正为低端硬件量身定制的,并不只有我一个人。Lubuntu 项目的负责人认为,提高较慢机器的性能应该不仅仅包括默认安装快速应用程序。就像 Xubuntu 一样,Lubuntu 的安装方式极其平淡无奇且完全实用。但是,一旦安装完成,Lubuntu 在外观上确实与 Xubuntu 和 Ubuntu 不同。
尽管 Lubuntu 的蓝色与 Xubuntu 相似,但其屏幕布局在视觉上有所不同。图 3 显示了 Lubuntu 简单的单任务栏布局,这与微软自 Windows 95 时代以来一直试图完善的设计非常相似。这不是一件坏事。作为一个群体,我们可能不喜欢微软,但它的开始菜单类型系统广为人知且非常易用。我启动 Lubuntu 后做的第一件事是打开一个终端并检查内存使用情况。您可以在图 4 中看到,完全启动后 Lubuntu 仅使用了 163MB 的 RAM。这几乎是 Xubuntu 和 Ubuntu 在全新启动时使用 RAM 的一半。当您再加上 Lubuntu 默认使用的快速且小型应用程序的选择,包括 Chromium 网页浏览器时,它在低端或旧计算机上确实也能飞速运行。如果您对计算机在使用 Ubuntu 下的 GNOME 或 Xubuntu 下的 XFCE 时的性能不佳感到沮丧,您可能需要尝试一下 Lubuntu。它使用相同的存储库,并且与更广为人知的应用程序(即使不是更臃肿的应用程序)具有非凡的兼容性。
除了速度之外,还有更多的替代方案。我使用了上面的 Ubuntu 示例来演示“两大”的替代方案如何在速度上为您带来优势,但也有其他原因偏离规范。例如,ROX 桌面是一个完整的桌面环境,围绕文件管理器——具体来说是 ROX-Filer 设计的。尽管 ROX 桌面在系统资源需求方面肯定很轻,但它的设计以及与文件系统的集成才是真正使其与众不同的地方。图 5 显示了 Puppy Linux 的屏幕截图,它使用 ROX-Filer 作为文件管理器。
ROX 桌面套件包括自己的窗口管理器 OroboROX,但像大多数其他桌面环境一样,它不依赖于一个特定的窗口管理器来工作。当您找到自己喜欢的窗口管理器时,通常可以将其与您想要的任何桌面管理系统无缝地使用。事实上,许多人,甚至整个发行版,都只运行窗口管理器。这是可能的,因为许多窗口管理器功能非常丰富,它们可以完成桌面管理器的大部分工作。Enlightenment 就是一个很好的例子。
Enlightenment 是一种窗口管理器,已经存在很长时间了。有些窗口管理器是极简主义的;然而,Enlightenment 功能极其丰富。它提供了一个文件管理器、一个停靠栏、一个 GUI 配置工具、应用程序启动器——几乎完整桌面环境所需的一切。这是否意味着它是一个桌面管理器而不仅仅是一个窗口管理器?也许是。不过,如何定义它并不重要。Enlightenment 是每个人都应该至少尝试一次的东西之一。甚至有专门为尝试 Enlightenment 而设计的 Live CD。图 6 显示了在 Elive CD 默认桌面下运行的应用程序。
IceWM 是另一个功能非常强大的窗口管理器。尽管它没有创建桌面图标的机制,但它确实有一个非常强大的菜单系统和应用程序套件,用于管理 Linux 桌面的大多数方面。IceWM 是高度可定制的,尽管它使用了熟悉的类似 Windows 的开始菜单,但它并没有试图克隆微软。事实上,我在我的 150 台旧瘦客户端网络上使用了 IceWM 和 Nautilus 的组合,因为它速度快且可靠。由于菜单系统由单个系统范围的配置文件控制,因此大规模自定义变得轻而易举。
许多 Linux 发行版仅使用窗口管理器来操作桌面。Blackbox、Fluxbox 和 Openbox 都是相关的窗口管理器。Fluxbox 是 Blackbox 的一个分支,尽管 Openbox 现在都是原创代码,但它最初也是 Blackbox 的一个分支。这三个窗口管理器都非常快。它们可能无法提供与 Enlightenment 或 IceWM 相同的功能和复杂性级别,但对于许多极简主义发行版来说,它们非常完美。CrunchBang Linux 是一个功能齐全但又极简主义的发行版的典型例子。它使用 Openbox 作为其窗口管理器,正如您在图 7 中看到的那样,窗口环境旨在不妨碍用户。
选择 Linux GUI 的好处在于,更改它是零成本的。无论您喜欢 Fedora 的默认 GNOME 安装,还是更喜欢 openSUSE 的绿色蜥蜴 KDE 安装,每个 Linux 安装都可以进行调整或更改。但我必须警告您,一旦您尝试了 NeXTSTEP 克隆 Window Maker 或 AfterStep,您可能再也不想看到开始菜单了。如果您尝试了 Ratpoison 窗口管理器那种无需鼠标的美感,您可能再也不想点击了。或者,也许您处于另一个极端,并且您想欺骗自己或他人,让他们认为您正在运行 OS X。查看免费的 Macbuntu GNOME 主题。在 Linux 中,自定义为王,选项似乎是无穷无尽的。我创建了一个图表来帮助您整理一些可用的 Linux GUI 选项(见表 1)。它绝不是一份详尽的列表,但它应该能让您入门。请记住,仅仅因为桌面环境坐在冷板凳上,并不意味着它没有入选球队。看看替补队员,您可能会找到一个赢家。
表 1. Linux 桌面/窗口管理器示例
桌面/窗口管理器 | 描述 | 设计目标 | 基于 | 优点 | 缺点 |
---|---|---|---|---|---|
KDE | 完整桌面环境 | 完整的系统集成,包括应用程序 | 使用 KWin 窗口管理器和 Qt 库 | 出色的应用程序集成,高度可定制 | 独特的外观;非 KDE 应用程序通常显得笨拙 |
GNOME | 完整桌面环境 | 完整的系统集成,包括应用程序 | 使用 Metacity 窗口管理器,基于 GTK+ 库 | 各种各样的本地应用程序,在企业环境中得到广泛采用 | 非 GTK 应用程序通常看起来很奇怪并且使用更多 RAM |
LXDE | 轻量级桌面环境 | 速度和美观的界面 | 使用 Openbox 窗口管理器和 GTK+ 库 | 在较旧/较慢的硬件上运行良好,保持兼容性 | 缺少 GNOME 或 KDE 中的某些功能 |
XFCE | 轻量级桌面环境 | 功能齐全的桌面环境,但资源占用少 | 通常使用 XFWM4,但与其他窗口管理器配合良好 | 系统要求比 GNOME 或 KDE 略低 | 对于低端系统来说,可能有点太耗资源 |
Enlightenment E17 | 具有桌面管理器功能的窗口管理器 | 速度和视觉效果与集成功能 | 一个窗口管理器加上一组用于开发应用程序的库 | 速度快且不牺牲风格 | 仍在 beta 测试中,但非常稳定 |
ROX 桌面 | 基于 ROX-Filer 的桌面管理器 | 以文件为中心的方式处理操作系统 | ROX-Filer 文件管理器和 OroboBox 窗口管理器 | 独特的文件型设计使安装应用程序变得拖放式 | ROX 桌面要么是爱,要么是恨 |
IceWM | 混合窗口管理器和桌面管理器 | 速度和简洁性 | 简单的菜单和任务栏设计 | 快速且易于进行系统范围的配置更改 | 无法创建桌面图标,某些功能需要其他软件 |
Blackbox/Fluxbox | 非常极简主义的窗口管理器 | 速度和小内存/CPU 占用 | Fluxbox 基于 Blackbox(它是 Blackbox 的一个分支) | 快如闪电 | 功能非常有限,但这是设计使然,而不是不成熟 |
Openbox | 非常极简主义的窗口管理器 | 速度和小内存/CPU 占用 | 最初基于 Blackbox,自 3.0 版本以来为原创代码 | 简单快速 | 功能有限,这是设计使然 |
AfterStep/Window Maker | NeXTSTEP 界面的克隆 | 功能和外观都像 NeXTSTEP | 仿照 NeXTSTEP 界面的独特设计 | 独特 | 通常难以配置,并且界面是一种后天习得的品味 |
Ratpoison | 一种不需要鼠标的窗口管理器 | 无需鼠标 | 仿照 GNU Screen 设计 | 无需鼠标 | 功能非常有限,开发人员认为这是一个功能 |
DWM | 一种极其极简主义的窗口管理器 | 仅管理窗口,别无其他 | 其他极简主义窗口管理器的思想 | 小巧快速 | 没有配置文件,必须编辑源代码才能配置 |
资源
AfterStep: www.afterstep.org
Blackbox: blackboxwm.sourceforge.net
CrunchBang Linux: www.crunchbanglinux.org
DWM: dwm.suckless.org
Elive: www.elivecd.org
Enlightenment E17: www.enlightenment.org
Fluxbox: www.fluxbox.org
GNOME: www.gnome.org
IceWM: www.icewm.org
KDE: www.kde.org
Lubuntu: www.lubuntu.net
LXDE: www.lxde.org
Macbuntu: macbuntu.sourceforge.net
Openbox: www.openbox.org
Puppy Linux: www.puppylinux.org
Ratpoison: www.nongnu.org/ratpoison
ROX Desktop: roscidus.com/desktop
Ubuntu: www.ubuntu.com
Window Maker: www.windowmaker.org
XFCE: www.xfce.org
Xubuntu: www.xubuntu.org
Shawn Powers 是 Linux Journal 的副编辑。他也是 LinuxJournal.com 的 Gadget Guy,并且收藏了一系列有趣的复古加菲猫咖啡杯。不要被他傻傻的发型所迷惑,他是一个非常普通的人,可以通过电子邮件 shawn@linuxjournal.com 联系他。或者,访问 Freenode.net 上的 #linuxjournal IRC 频道。