简论优秀的计算机桌面环境

昨天看Google Reader的时候,看到了LinuxToy发的一篇文章:《GNOME Shell 模型设计图》,里面贴了Topaz Brainstorm在Gnome-look.org上发表的两张Gnome Shell的设计图。根据原作者使用的GFDL协议,我把那两张设计图传在这里(点击可放大):

gnome-shell-v1

gnome-shell-v2

当时我把这两张图下载下来看,越看越觉得不满意,于是总结了一下我对好的桌面环境的认知。

大约一年前我写过《由WriteRoom想到的理想桌面环境》,其中介绍过我对好的桌面环境的想法。那篇文章的主题,现在总结起来大概是“人用软件,而非桌面环境”,这个观点我到现在还认同。不过这篇文章偏重于我脑中的设计。但毋庸置疑的是,从那之前还要早时候,我就已经对GNOME和KDE这类桌面环境感到厌倦,并希望自己设计桌面环境了。

首先,有一个前导观点我需要澄清。第一个就是桌面的“易学性”和“易用性”的关系。看上去两者之间是一致的,但往往它们是对立的。举例来说,Windows的桌面环境可以勉强算作易学,但总体上来说,很难是易用。另一个更好的例子是UNIX下的桌面环境,有些可以算作非常不易学,但一旦学会后可以算是非常易用。而我的想法是更偏重于易用,因为对于桌面环境,你可能要学一次,但在将来却要每天都用。

还有一个对立的观感属于设计上的风格,就是“紧实”和“分散”。紧实的桌面环境当仁不让是Mac OS X。所谓紧实,就是系统里的很多软件之间的联系很紧密,因为都是Apple制作的,它们之间的交互就显得特别常见且方便。例如,在Mail.app中添加一个To Do项目,它同时也会出现在iCal.app中。紧实的桌面环境的有点是方便,缺点是增加了系统的耦合度。如果我们用Thunderbird代替Mail.app,就无法做到类似的效果。还有就是深受大家诟病的Safari、Quicktime等软件的升级重启问题。因为Safari升级后Mac更换了整个底层的Webkit架构,所以需要重启计算机。

分散的环境,Linux下的桌面环境是非常明显的例子。程序之间的关联很少,只要系统的MIME设置好了,在每一个环节上,用哪个程序都不影响使用。每个程序只做自己份内的事情,不管其它程序怎么样。这点传承自UNIX的KISS传统──每个程序只做一件事并且做到最好。因此在GNOME下,我们既可以用Evolution来收邮件,也可以用Thunderbird来收邮件,甚至用mutt来收邮件也没关系。分散的环境的系统耦合度很低,这是它的优点,缺点就是在日常应用中可能不如紧实的系统更方便。

对于桌面环境来说,每个人追求的目标或许不同。而我所追求的目标,就在于工作空间最大化。我认同Linus对于操作系统的解释:“操作系统的作用就是帮助应用程序来操作计算机,用户应该永远看不到操作系统本身”。这一点同样可以应用与我对桌面环境的想法上。

具体说来,我看了那两张Gnome Shell的设计图后的想法,总结如下:

  1. 整个桌面最上面的那一条,如果不是用来显示应用程序的菜单的话,能不要就不要。换句话说,我对那一条能接受的最大限度,就是Mac OS X的那种形式。像GNOME那样的,屏幕最上面的菜单栏要占据不少空间,而且基本上作用很小。GNOME的最上面的那一条,除了在右边放置一些应用程序的托盘以及系统时间、网络链接等信息,和几个快速启动的按钮外,主要的公用就是显示“应用程序”、“位置”和“设定”这三个菜单。这三个菜单的用处都相当小。“设定”可以像Mac的系统设定甚至像Windows的控制面板一样集中到一个窗口中完成,位置直接进Nautilus或其它程序中去找,启动程序可以用命令行或其它工具(如GNOME Do)更好的完成,托盘和时间可以独立出来放在可收缩的抽屉里,因此这个菜单完全没有必要。

  2. 桌面最下面的那一条,能不要的也最好不要。GNOME的这一条是任务栏,这点再议。KDE里这一点除了任务栏外,还有一个“开始”按钮。Mac OS X下面是Dock。我的系统的Dock已经设置成最小的状态了([1]|[2])。因为我不习惯把Dock自动隐藏,毕竟有些信息还是更喜欢一眼看上去就能一目了然的感觉。过去在用KDE的时候,那个粗粗的条实在是让人觉得占据空间,任务栏竟然能显示两行,相当诡异。实际上,我不觉得没有了任务栏就没法工作了。我在用Mac之前,在Linux下用FVWM配置的桌面环境里,没有任何条条,要切换应用程序有两种方法:一是用Alt+Tab和Alt+Shift+Tab,而是在桌面空白处用鼠标滚轮,没有感觉任何不便。

  3. 应用程序的启动。这一点在第一条中已经提到过一些。现在的桌面环境默认的启动方式都是很笨拙的。GNOME下是从应用程序菜单里找;KDE有个“开始菜单”,点进去可以搜索;Mac是应用程序文件夹配合Dock,或者通过Spotlight。好在现在已经有很好的方案来解决这个问题:我在过去用的是gmrun,因为Linux的应用程序和PATH设定已经够好的了;在Mac下用的是QuickSilver,口碑已经很好了;Google Desktop也能跨平台的使用,做的也不错。

  4. 一切的目的,是在方便使用的情况下,最大化工作空间。

当然上面的这几点有局限性。因为我目前用的是13.3”的MacBook,因此对工作空间的要求比较明显。如果用的是24”的显示器,Dock大小之类的就不用考虑了。当然GNOME的那类顶端菜单条是排除在外的。

昨天下午看到Apple4.us的一篇翻译文章《研究一下我们对 Chrome OS 仅有的一点了解》。里面有这么一段我非常赞同:

在这一点上,我的理论很简单。早期 Gnome 和 KDE 很大程度上只是克隆了微软的 Windows 的用户界面。此后它们开始出现分歧,我想说的是,Ubuntu 默认的 Gnome 桌面从设计和易用性角度,很多方面都超过了微软的 Windows Vista 。但本质上它仍然是 Windows 的克隆——窗口内的菜单栏、窗口最大化/最小化/关闭按钮在右上角、菜单和按钮名称使用丑陋的单字符下划线。一眼看上去,它就像 Windows 安装了另一个主题而已。他们的想法是:如果你想要 Windows 用户去用 Gnome 或 KDE ,你就必须让它看上去像 Windows。

这也是我觉得传统桌面环境不好的原因之一,也是为什么我到现在还是很怀念在Linux上用FVWM的时候的原因。

《简论优秀的计算机桌面环境》有3条评论

发表评论

此站点使用Akismet来减少垃圾评论。了解我们如何处理您的评论数据