Linux桌面艺术家指南—第四部分

作者:Michael J. Hammel

本系列的前两篇文章侧重于特定的窗口管理器:Enlightenment 和 Window Maker。我非常仔细地研究了这两个窗口管理器,因为它们是 Linux 桌面中个性化的典范。与 Mac 或 PC 世界不同,Linux 桌面的外观和感觉可能会有很大的差异。一个 Linux 用户的窗口界面不必看起来——或行为——与任何其他人的都一样。您选择的窗口界面就像一个空旷的大公寓。只有当您添加家具并挂上一些照片时,它才会成为一个宜居的空间。厨房仍然是厨房,但在 Linux 中,它是您的厨房。

在本系列的第四部分也是最后一部分中,我将快速浏览一下 Linux 上可用的其他一些不太知名的窗口管理器。它们中的大多数都比任何其他窗口管理器具有独特的优势——更小的内存占用、更高效的代码、更好的可扩展性等等。它们的外观和行为都略有不同,尽管除了 AfterStep 之外,没有一个像 Enlightenment 和 Window Maker 那样设计了图形多样性。这并不意味着您不想考虑它们。相反,在某些情况下,您会想要考虑这些替代方案,特别是如果您经常在笔记本电脑上工作。

AfterStep
  • 网址: www.afterstep.org

  • 要求:建议使用 XPM、JPEG 和 PNG 库,但这些库应该已经存在于任何最新的 Linux 发行版中。

  • 兼容性:GNOME(部分),KDE(未知)

  • 附加功能:如果它可以在 Window Maker 上运行,那么它很可能也可以在 AfterStep 上运行,但这不能保证。

The Artists' Guide to the Linux Desktop—Part IV

图 1. AfterStep 的默认主题

当我最初开始这个系列时,我计划像研究 E 和 Window Maker 那样彻底地研究 AfterStep。在做了一些研究之后,我发现 Window Maker 和 AfterStep 几乎是同一种东西。在内部和政治上它们可能有所不同,但从最终用户的角度来看,它们非常相似,以至于如果您阅读了上一篇文章,您就了解了 AfterStep 的最新情况。

尽管如此,关于这个窗口管理器,我还需要提到一些事情。AfterStep 在显示屏顶部添加了一个栏,类似于 GNOME 和 KDE 的任务栏。该栏实际上仅在第一个应用程序启动后才会显示;之后,每个应用程序都会添加到该栏中。它允许您非常快速地跳转到应用程序,尽管我个人不太喜欢这些类型的功能。

AfterStep 功能可以在编译软件之前启用或禁用。configure 脚本比大多数其他窗口管理器具有更多的选项。这允许您关闭某些功能,希望可以精简窗口管理器以便在资源受限的系统上使用。但是,如果您使用 -prefix 选项,请注意 “make install” 过程不会在您指定的目录下创建 /bin 和 /man 目录——您必须手动执行此操作。

与 Window Maker 不同,AfterStep 有一个类似于 FVWM 分页器的分页器,我非常喜欢它。它看起来和工作方式都非常像我习惯使用的分页器,并且在默认配置中可用。虽然我可能不会切换到 AfterStep(我在 Window Maker 中不喜欢的图标功能也存在于 AfterStep 中),但现在我找到了一个合理的分页器,我对它更感兴趣了。

Blackbox
  • 网址: blackbox.alug.org

  • 要求:无

  • 兼容性:GNOME(否),KDE(部分)

  • 附加功能:BBPager、BBTime 和其他各种工具;所有工具均可从 Blackbox 主站点获得。通过使用名为 Slit 的内置工具,支持 Window Maker dock 应用程序。

The Artists' Guide to the Linux Desktop—Part IV

图 2. Blackbox,使用随附主题

在我尝试过的所有窗口管理器中,Blackbox 肯定是构建和安装最容易的。它不需要特殊的库,没有特殊的要求,编译只需一两分钟。当然,这取决于您的硬件配置,但重点是,这是最精简、最简化的可用窗口管理器。这也意味着它是功能最少的窗口管理器。

虽然大多数其他窗口管理器通过图标或图像处理提供某种形式的装饰,但 Blackbox 除了简单的渐变之外什么都不提供。它确实包含一个在根窗口上放置背景图像的工具,但这几乎是您在这里能找到的所有装饰。尽管如此,该实现确实包括通过名为 Slit 的内置功能支持来自 Window Maker 的可停靠应用程序。我没有尝试此功能,因为 Blackbox 的重点是添加花哨的外观。它确实是一个旨在以尽可能小的内存占用提供体面外观的窗口管理器。这使得 Blackbox 成为笔记本电脑使用的可能候选者。

与大多数窗口管理器一样,您必须编辑文本文件才能更改根菜单。但这并不是一个严重的问题。从 Blackbox 网站链接的在线文档中,可以找到对菜单文件格式的相当完整的描述。

Blackbox 在屏幕底部有一个面板,其中包括一个时钟、两组用于在窗口和桌面之间循环的箭头,以及一个显示当前具有键盘焦点的窗口标题的区域。一个附加工具 BBPager 可用,它提供了与 FVWM 和 AfterStep 分页器相同的许多分页器功能。虽然分页器接受标准的 -geometry 设置来设置其在屏幕上的位置,但面板似乎被强制放在显示屏的底部。我希望有一种方法可以更改它,将其移动到显示屏的顶部或侧面,但没有看到是否有可能。

Blackbox 不做的一件事是默认情况下不强制执行边缘阻力。边缘阻力使您可以将窗口滑动到显示屏的边缘,但如果没有施加一点力,则无法滑过它。我喜欢这样做事的窗口管理器;我很少使用跨越工作区的窗口,但确实喜欢将窗口紧靠显示屏的边缘。

总的来说,我喜欢 Blackbox;我只需要学习如何正确配置它。

Icewm
  • 网址: icewm.sourceforge.net。更好的站点是 http://icewm.cjb.net/,您可以在那里找到用户文档。

  • 要求:XPM 或 Imlib,尽管这些似乎是可选的;sgml2html 用于构建文档。

  • 兼容性:GNOME(至少部分),KDE(未知)

  • 附加功能:一些首选项编辑器可用作外部实用程序。

The Artists' Guide to the Linux Desktop—Part IV

图 3. Icewm 的默认主题

基本安装启动后看起来有点像 Windows 界面。至少,它从一开始就非常可用,即使主题让我有点不舒服。似乎没有像 Blackbox 那样从菜单或面板快速更改主题的方法,但它确实带有许多您可以手动安装的不同主题。

一个有趣的特性是当您在配置文件中设置 TaskBarDoubleHeight 选项时出现的额外空白栏。这提供了一个区域,您可以在其中键入命令来启动程序,而无需打开 xterm。这对于我经常执行 echo 123/54 | bc 的所有情况来说非常棒。如果命令(例如我的示例)不是程序,则它将作为 shell 命令运行。

Icewm 和 Blackbox 一样,旨在具有较小的内存占用。与 Blackbox 不同,它还试图提供当今许多用户期望从窗口管理器获得的图标和装饰。配置菜单可以使用一些图形工具来完成,尽管这两个工具都相当粗糙。您很可能最终会手动配置菜单。

Sawmill (或 Sawfish)
  • 网址: sawmill.sourceforge.net

  • 要求:来自 Sawmill 作者的 Imlib、librep Lisp 解释器 (0.9+) 和 rep-gtk 绑定 (0.7+)

  • 兼容性:GNOME(至少部分),KDE(未知)

  • 附加功能:RPM 可用,但我从源代码安装。

Sawmill 曾经是 Red Hat 发行版上 GNOME 的默认窗口管理器——或者至少我认为是这样。我不确定他们现在使用什么。如果您访问 Sawmill 的主网站,您会发现它更多地被呈现为一个开发人员平台,而不是普通最终用户会感兴趣的东西。使用 Lisp 在技术上可能是合适的,但很可能会吓跑非技术人员。

不幸的是,Sawmill 无法在我的标准 Red Hat 5.2 系统上构建,因为它缺少 GNU MP,这是当今许多软件包似乎拥有的又一个非常晦涩的要求。切换到我的 Red Hat 6.1 机器后,我遇到了同样的问题,因此 Sawmill 永远没有构建。由于有多个软件包需要下载,我也没试过 RPM。抱歉——即插即用在这里至关重要。一个软件包,构建和安装。这些天我对超出此范围的事情不太宽容。

FVWM
  • 网址: www.fvwm.org

  • 要求:基本上没有,使用最新的 Linux 发行版(它们将拥有您需要的东西)。

  • 兼容性:GNOME(未知),KDE(未知)

  • 附加功能:大多数外部模块现在都随发行版一起提供。

The Artists' Guide to the Linux Desktop—Part IV

图 4. 我的 FVWM 主题

经过这一切,我们终于回到了我自己实际使用的东西——FVWM2。它是大多数我谈到的其他窗口管理器的祖父之一,在某些情况下甚至可以说是曾祖父。我为什么使用它?因为我有一个围绕极简显示设计的广泛菜单系统,我无法用任何其他窗口管理器复制它。我也非常喜欢 FVWM 分页器。有了它,我可以将窗口在桌面之间移动,而无需实际移动到那些桌面。我还可以一目了然地看到我打开了什么。我倾向于使用带有多个页面的三个桌面,并将相同的页面用于相同的事情——使用登录到特定机器的 xterm、在不同机器上跨网络运行但在本地显示的 Netscape、我的 XNotesPlus 软件包等等。有了 FVWM 的分页器,我可以轻松地看到我打开了什么。然后我只需单击一次即可在多个项目之间跳转——例如,一篇为Linux Journal撰写的文章、一些为 Linsight 做的分析以及来自我的 Graphics Muse 网站的管理工作。这是一个非常方便的工具。它还让我可以在不处理一堆讨厌的图标的情况下工作。

我还没有在任何其他窗口管理器中找到如此简约形式的类似功能。Enlightenment 的分页器很接近,但 Enlightenment 对内存的要求很高。使用 FVWM,我可以在我拥有的任何系统上运行几乎相同的配置,而且我有很多系统。AfterStep 有一个类似的分页器,但那些又大又丑陋的图标让我很恼火。

最重要的是,对于像我这样的老 UNIX 黑客来说,窗口管理器应该帮助我完成工作。它不应该在我面前唱歌跳舞,然后才开始工作。在我说了所有关于个性化工作区的内容之后,我这样做的方式是删除工作区的可见性,除了我用 GIMP 生成的巧妙的X 档案风格的背景。我在显示屏顶部使用了一个工具栏,其中包含大量用于启动各种应用程序的菜单。FVWM 要求我在每次更改菜单之一时都重新启动窗口管理器,这有点烦人,但这只是一个小小的烦恼。

系列总结

就是这样。可能还有其他一些窗口管理器,但我们已经介绍了 Linux 上所有具有重要追随者的窗口管理器。使用您自己选择的窗口管理器并不太困难,即使您计划使用 GNOME 或 KDE,因为大多数窗口管理器要么已经支持,要么很快将支持这两个主要的 Linux 桌面环境。您的选择将更多地基于您想要看到的内容以及您拥有多少硬件来运行它。最后,关键是您有选择权,这使您可以控制您的桌面。

电子邮件: mjhammel@graphics-muse.org

Michael J. Hammel (mjhammel@graphics-muse.org) 是一位想要成为图形艺术家的人、一位作家和一位软件开发人员。他漫无目的地在地球上游荡,寻找冒险、宁静的海滩和逃离主宰他生活的计算机。

加载 Disqus 评论