Blog

谈谈 Linux 桌面环境

上星期我在“扫荡”很久没有读的 RSS 的时候,看到了这么一篇文章:《重新认识Ubuntu Unity(上):Unity之降临》。文章的作者是 TualatriX,他在文章的前半部分讲了 Unity 这个用户界面的开发背景于发布后的评价,让我对 Linux 的桌面发展感觉到了一些不利的因素。

世界上用的最多的操作系统——Windows、Mac 和 Linux,它们之所以存在于世界上,我认为是因为它们有自己不可替代的核心优势。比方说,Windows 的优势在于它的普及范围广、Mac 的优势在于它的图形界面、Linux 的优势在于它的 UNIX 传承和稳健。当然,这些核心优势有许多,在不同的环境下,它们所体现出的优势各不相同。而在单机桌面领域,我觉得人们对于 Linux 的发展方向有些偏斜。

Linux 安装在个人计算机上有什么优势?这一点我想很多人似乎是没有搞清楚。Ubuntu 在国内开始流行那会儿,由于宣传,人们知道了有个叫 Linux 的操作系统,然后它有很炫的动感界面。这就是人们对它的认识了。于是有些喜欢折腾的人,就在自己的电脑上装上 Ubuntu,当然目的不是用,而是耍酷。结果发现很多东西都没法在 Ubuntu 下跑,比如 QQ,比如网银,于是人们又失望的重装 Windows。从一开始这种方向就偏斜了。

话说 Linux 的桌面究竟有什么优势?说道这个问题,我想先说一说 Mac。Leopard 刚发布的时候,苹果宣布了很多新功能。苹果还发表了一个视频,上面一个男人演示了各种 Leopard 加入的功能,这个视频非常吸引我,我当年把它下载到了硬盘上,看了好多次,我现在还在 Dropbox 里保存了一份。这个视频里介绍的很多功能,我当时看了都特别激动。比方说收到了邮件,在 Mail.app 里看邮件的内容,里面一些比较特殊的信息,比如电话号码,Mail 可以给你提取出来。把鼠标移动到电话号码上,点两下就可以把这个号码添加到 Address Book.app 里面。除了电话,地址、时间什么的好像都可以。虽然手动复制粘贴也不是不行,但这种系统集成是让我觉得兴奋的地方。后来我才知道,这些根本就不算是 Leopard 本身的功能,因此要用这些功能,就必须用苹果自己的软件。比如,你把 Mail.app 换成 ThunderBird.app,那就不会识别出这些信息了。究其原因,其实苹果发布的 Leopard 远远超出了“操作系统”的范畴。Leopard 其实可以算上几套解决方案的组合,买了 Leopard 后,你上网和别人交互基本没问题了——Safari 可以浏览网页,Mail 可以收发邮件,iChat 可以聊天,普通用户除了这些还需要什么?

所以我觉得,一个操作系统的核心优势,在于操作系统可以运行的软件。比如 Windows,我母亲在休闲时喜欢玩 Windows 自带的纸牌游戏,我在刚接触 Windows 95 的时候也很喜欢里面的扫雷游戏。但你让一个中国人拿到一台刚买来的 MacBook,你让他怎么休闲?我对国际象棋可不熟啊。另一个例子是在程序员之间流传的玩笑,说很多人买 Mac 是因为 TextMate 写 Ruby on Rails 程序太好用了,这里面操作系统方面的核心优势就不言而喻了。

那么,Linux 的核心优势怎么算呢?我觉得这比较困难,原因是因为 Linux 上可以运行的软件范围太广了。装个 LAMP 就可以跑 web 服务器,装个 XWindow + Gnome 就可以胜任个人桌面。从历史上来看,UNIX 世界很少有给自己的系统是什么样子的做出严格的定义的。这一方面跟 UNIX 世界的自由软件氛围有关系,另一方面是因为上面的经典软件都不是一家公司出品的。比如 Apache 和 X,它们不是一家公司或组织出的,界面风格自然就南辕北辙了。桌面环境也分成了好几个阵营,没有一家独大的。我们学校的 Sun 工作站上面同时安装了 Java Desktop Environment 和 CDE,当然默认的是 JDE,但 CDE 绝对可以正常使用。Sun 可以专业的商业公司啊。

结果因为风格上的不同意,软件就常常专注于一种风格,这在今天看来就是 GTK 和 Qt 的对立。虽然两个库本身是独立的,但在以一个库为基础的桌面环境中运行以另一个库为基础的软件,总会显得格格不入,这在风格上就比 Windows 和 Mac 弱了一节。原因?很简单,没有标准。普通用户没有操作系统和桌面环境的概念,因此常常把桌面当作操作系统本身。我身边最典型的例子是有同学得到了 Ubuntu 的免费派送光盘,启动电脑后用了一回说对 Ubuntu 的印象就是“屎黄色的桌面”。

在上世纪 90 年代,桌面环境蓬勃发展的时候,Linux 没有一个强有力的领导人引领大家的桌面环境。因为本身 UNIX 世界的图形界面已经比较成熟,字符界面当时的 DOS 根本没法和 UNIX 比,所以没有积极发展的必要。所以,在那段时期,Windows 和 Mac 都各自朝着一个方向努力,最终在各自的世界中形成了标准,而 Linux 则从一开始就没有像界面标准化的方向迈出坚实的一步。有些初学者弄不清楚 Linux 到底长啥样,所以觉得 Linux 就是“屎黄色的桌面”,那不过是 Ubuntu 默认墙纸的颜色而已,但这里面的概念实在是不好像圈外人解释清楚,所以我遇到了这种情况就只好不了了之了。另外,没有标准,Linux 世界呈现百花齐放的局面,各大发行版争奇斗艳,各小发行版也有各自的圈子,而我在刚接触 Linux 的时候就迷惑过,倒地哪种 Linux 最好?

所以,Linux 的核心优势到底是什么?仔细想一想,在个人桌面领域,Linux 似乎还真没有什么核心优势。有什么软件是只有 Linux 上可以运行的吗?数下来,似乎还真不多。在我的经历中,只有 Emacs 在 Windows 和 Mac 上没有完美运行,但也仅仅是不完美,而非不能运行。因为推广 Linux 的缘故,很多软件都有一种模仿的思路在里面:模仿 Windows 的行为方式,模仿 Mac 的界面模式。几年前我看到国内很多 Linux 网站在教大家怎样把菜单条弄到屏幕最上方,就像 Mac 那样子,怎么在屏幕下方放一个 Dock,就像 Mac 那样子……看到这些东西,我没有“Linux 现在也可以做到这个了”这样的兴奋,反而感到一种恶俗,难道,山寨是 Linux 桌面发展的宿命么?

我在真正正式使用 Linux 后,尝试了一些桌面环境,大众的小众的都或多或少的尝试过一些。到最后我的选择是 FVWM,这在今天看来似乎很奇葩,但确是我领悟到了所谓桌面,不过是一堆程序的堆叠而已之后的选择。这时,也是我明白了 Linux 的核心优势的时候。在我眼中,Linux 的核心优势就是“高度定制”。Linux 世界给你的一堆软件,你要按照自己的要求把它组合起来。弄到最后,桌面环境时花俏也罢,朴素也罢,总归时一堆软件的综合效果。像我这种喜欢简洁的人选择了 FVWM,因为我觉得用计算机其实就是使用软件。软件启动后生成的窗口要多大,放在哪里,这些给 FVWM 弄好了,交给我使用就行。想要设置背景,其实就是用程序在所有窗口下面全屏显示一章图像而已。当然,桌面环境也是这么做的,但把这一切都包装起来了。

Linux 就是这样,没有标准,这就是它的最好的优势。我在刚开始执著于发行版之间的优劣比较,到最后发现发行版之间的核心区别就是软件管理的区别,也就是 rpm、apt 等等的区别。Gentoo 提供了 emerge 系统和一些文档,这就是全部了;LFS 把软件给省了,于是就剩了一本书,软件管理部分,用解包/编译/安装等指令代替了。可以在这些东西之间自由选择,这是我最怀念 Linux 的地方之一。

在这里要说明一点,这里说的 Linux 的核心优势是我总结出来的,并非是标准答案,因此或许在别人眼里 Linux 有其它的核心优势也是可能的。不过,从我的核心优势发展,能得到一个相对悲观的结论,就是 Linux 无论如何都不能让广大群众所接受。普通用户要的不是可以定制,而是可以稳定正常的完成一些事物,所以,在个人桌面领域,Linux 基本没有竞争力啊。

5 comments

  1. hitsmaxft hitsmaxft

    对于普通用户而言, *nix 缺乏通用软件商的支持, 使得日常用的软件缺失, 揪着这点, linux 的”桌面” 显得缺乏底气. 放弃qq, xx游戏之类的废话, 就不应该出现了, 这不是一个正常人的思维. mac可以引起国内web巨头注意, 逐步进行, 有它的道理. 这是linux桌面需要考虑的, 而不是像现在群雄割据, 其实个个都不成气候. 当然, 这个权利还是握在各巨头手里, 没有足够的吸引力, 它们才懒得理你, linuxqq是个见证.

    linux的高度定制化, 确实能带来很高的效率回报, 对”专业”人士是吸引力的. 但是对于普通用户, 桌面环境的便利, 使用习惯的同步, 更有吸引力. 当mac可以用上qq, 旺旺, 或者慢慢更多的支持,还能装x, 那么linux最终就剩下成为呆在虚拟机里面的一个开发环境, 对我而言, 目前这件事情发生在办公室里.

    个人是赞同本文的最终结论的, 毕竟, linux不应该是乌托邦. 最终还要个大众世界的众多软件开发商相辅相成.

    沙发
    • Feng Feng

      从普及的角度来说,是的,Linux 悲催,因为继承自 UNIX 的传统带来的高度定制化,用户太分散了。没有哪个公司像 C 字头公司一样出个 Ubuntu 还要出个 Kubuntu,而且据说 Kubuntu 是由公司支持的社区发展的,而结果却受到诟病。桌面尤其如此,风格冲突,不可调和。也没有谁愿意把自己的软件用 GTK 和 Qt 分别写一遍,还要维护。这种分散从根本上绝了 Linux 在桌面推广这条路。

    • pengan pengan

      个人认为,Linux生来就不是做桌面的,无论是MacOS还是Windows,都有一个强有力而且封闭的公司来主导和制定相关的规范,从而带来的用户体验的一致性,而Linux世界恰恰缺乏这种主导,其实也不需要这种主导。Linux因为其灵活性和可定制性,其应用范围远远超过桌面。无论是机顶盒还是路由器,包括支持这个blog的VPS,都在运行着Linux,从某种程度上来讲,各种运行着Linux的联网设备,其数量是超过桌面PC的。

  2. yuihji yuihji

    很同意观点… 但是观点很多,很多都没有展开.其实可以写一篇长论文的(或者系列文章)… 还有就是好像有几个错别字…

    板凳
    • Feng Feng

      我很想写长文的,可惜文笔功力不够,像这篇文章写到后来我就差不多忘了前面写了些什么了 😕

Leave a Reply