我于 1993 年首次安装了 Linux。那时,安装操作系统真的没有太多选择。在早期,许多人只是从其他人那里复制一个正在运行的镜像。后来有人提出了一个绝妙的想法,创建 Linux 的“发行版”,让你可以自定义想要安装的软件。那就是 Softlanding Linux System (SLS),也是我对 Linux 的初次接触。
我的 '386 PC 内存不多,但也足够了。SLS 1.03 需要 2MB 内存才能运行,如果想要编译程序,则需要 4MB。如果你想运行 X Window System,则需要惊人的 8MB 内存。而我的 PC 内存刚好足够运行 X。
由于我从小就使用命令行,所以图形用户界面对我来说不是必需的。但它确实很方便。我可以在不同的窗口中运行应用程序,并在任务之间轻松切换。
从我第一次尝试 Linux 开始,我就被迷住了。从那以后,我一直坚持在我的桌面上使用 Linux。和许多人一样,我有一段时间在双启动配置中运行 Linux,这样我可以跳回 MS-DOS 和 Windows 来运行某些程序。直到 1998 年,我才最终下定决心,完全转向 Linux。
在过去的 26 年里,我见证了 Linux 桌面的成熟。我也尝试过各种有趣的桌面环境组合,我将通过回顾 Linux 桌面的历史来分享这些经验。
X 和窗口管理器
Linux 上的第一个“桌面”还不是真正的桌面。相反,它们是运行在 X Window System 上的窗口管理器。X 为图形用户界面提供了基本构建块,例如在屏幕上创建窗口以及提供键盘和鼠标输入。仅凭 X 本身做不了太多事情。为了使 X 图形环境有用,你需要一种管理会话中所有窗口的方法。这就是窗口管理器的用武之地。运行像 xterm 或 xclock 这样的 X 程序会在窗口中打开该程序。窗口管理器跟踪窗口并执行基本的内务处理,例如让你移动窗口和最小化它们。剩下的就取决于你了。你可以在 X 启动时通过在 ~/.xinitrc 文件中列出它们来启动程序,但通常,你会从 xterm 运行新程序。
1993 年最常见的窗口管理器是 TWM,它可以追溯到 1988 年。TWM 非常简单,只提供基本的窗口管理。

SLS 1.05 上的 TWM,显示 xterm、xclock 和 emacs 编辑器
另一个早期的窗口管理器是 OpenLook Virtual Window Manager (OLVWM)。OpenLook 是 Sun Microsystems 在 1980 年代开发的图形用户界面,后来被移植到其他 Unix 平台。作为虚拟窗口管理器,OLVWM 支持多个工作区。

SLS 1.05 上的 OLVWM,显示 xterm 和虚拟工作区选择器
当 Linux 开始流行时,其他人很快就创建了新的窗口管理器,具有更流畅的性能和改进的界面。这些新窗口管理器中的第一个是 FVWM,一个虚拟窗口管理器。FVWM 比 TWM 或 OLVWM 具有更现代的外观。但我们当时还没有桌面。

SLS 1.05 上的 FVWM,显示 xterm 和文件管理器
在现代人看来,TWM 和 FVWM 可能看起来很简陋。但重要的是要记住当时其他图形环境的样子。当时最新的 Windows 版本看起来相当简单。Windows 1 到 3 版本使用了一个名为程序管理器的简单启动器。

Windows 3.11,显示程序管理器和记事本编辑器
1995 年 8 月,微软发布了 Windows 95,改变了现代 PC 桌面的格局。当然,我印象深刻。我认为 Windows 3.x 笨拙而丑陋,但 Windows 95 流畅而漂亮。更重要的是,Windows 95 是我们现在认为的桌面。新的桌面隐喻是向前迈出的一大步。你可以将图标放在桌面上——事实上,Windows 95 提供了两个默认桌面图标,分别是“我的电脑”(用于打开文件管理器)和“回收站”(用于放置稍后要删除的文件)。
但更重要的是,Windows 95 桌面意味着集成。程序管理器消失了,取而代之的是屏幕底部的任务栏,它允许你使用更简单的“开始”菜单启动新程序。任务栏是多功能的,还通过一系列按钮和一个显示时间、扬声器音量和其他简单控件的停靠栏来显示正在运行的程序。你可以右键单击新桌面上的任何对象,Windows 95 会为你呈现一个上下文相关的菜单,其中包含你可以执行的操作。

Windows 95,显示记事本编辑器
Windows 95 界面简洁流畅,比以前版本的 Windows 甚至其他 Linux 窗口管理器更易于使用。为了不甘落后,Linux 开发人员创建了一个新版本的 FVWM,它模仿了 Windows 95 界面。名为 FVWM95 的新窗口管理器仍然不是桌面,但它看起来非常漂亮。新的任务栏允许你使用“开始”菜单启动新的 X 程序。任务栏还使用类似于 Windows 95 的按钮来显示正在运行的程序。

Red Hat Linux 5.2 上的 FVWM95,显示 xterm 和一个快速访问程序启动器,其中包含 xterm、文件管理器和其他程序的图标
虽然 FVWM95 和其他窗口管理器正在改进,但核心问题仍然存在:Linux 并没有真正的桌面。它只是一组窗口管理器,仅此而已。使用图形用户界面(GUI,几乎意味着它们是 X 应用程序)的 Linux 应用程序看起来都不同,工作方式也不同。你无法从一个应用程序复制和粘贴到另一个应用程序,除了 X Window System 提供的简单的纯文本复制/粘贴。Linux 真正需要的是对其 GUI 进行彻底的改造,以创建第一个桌面。
第一个 Linux 桌面
1996 年,Matthias Ettrich 对 X 下 Linux 应用程序的不一致性感到困扰。他想让图形环境易于使用。更重要的是,他想让一切都集成起来——像一个真正的桌面一样。
Matthias 开始开发 K 桌面环境。这里的 K 代表“Kool”。但 KDE 这个名称也旨在模仿“大型 Unix”世界中的标准通用桌面环境 (CDE)。尽管到 1996 年,CDE 看起来已经相当过时了。CDE 基于 Motif 组件集,这与 FVWM 模仿的设计相同。KDE 1.0 于 1998 年 7 月最终完成,与 FVWM95 等普通窗口管理器相比,这是一个明显的改进。

K 桌面环境 (KDE) 1.0 版
KDE 是 Linux 向前迈出的一大步。最终,Linux 拥有了一个真正的桌面,具有应用程序集成和更现代的桌面图标。KDE 的设计与 Windows 95 非常相似。屏幕底部有一个类似任务栏的东西,它提供了相当于 Windows 95 的“开始”菜单以及几个应用程序快捷方式。KDE 还支持虚拟桌面,它们被巧妙地标记为“一”、“二”、“三”和“四”。正在运行的应用程序通过屏幕顶部单独任务栏中的按钮表示。
但并非所有人都对 KDE 感到满意。为了将 GUI 与系统分离,KDE 使用了 Trolltech 的 Qt 工具包库。不幸的是,Qt 不是在自由软件许可下分发的。Trolltech 允许 Qt 在自由软件应用程序中免费使用,但对在商业或专有应用程序中使用它收费。而这种二分法与自由软件不符。这给 Linux 发行版带来了问题:他们应该包含 KDE 吗?还是默认使用像 FVWM 这样更旧但免费的软件图形用户界面?
为了回应,Miguel de Icaza 和 Federico Mena 于 1997 年开始开发新的 Linux 桌面。新项目被命名为 GNOME,代表 GNU Network Object Model Environment。GNOME 旨在成为完全自由的软件,并使用来自 GIMP 图像编辑器的不同工具包,称为 GTK。GTK 字面意思是 GIMP 工具包。当 GNOME 1.0 最终于 1999 年发布时,Linux 又有了一个现代桌面环境。

GNOME 1.0 版
虽然 Linux 有两个桌面环境很棒,但“KDE 与 GNOME”的竞争持续了一段时间。到 1999 年,Trolltech 在新的公共许可证 Q Public License (QPL) 下重新发布了 Qt 库。但新许可证带有自己的包袱——QPL 仅适用于 Qt 在开源软件项目中的使用,而不适用于商业项目。因此,自由软件基金会认为 QPL 与 GNU 通用公共许可证 (GNU GPL) 不兼容。这种许可问题将一直持续到 Trolltech 在 2000 年在 GNU GPL 版本 2 下重新重新发布 Qt 库。
随着时间推移的发展
Linux 桌面持续成熟。KDE 和 GNOME 陷入了友好的竞争,这促使两者都添加新功能并交流想法和概念。到 2004 年,GNOME 和 KDE 都取得了重大进展,但用户界面只带来了渐进式的变化。
KDE 2 和 3 继续依赖屏幕底部的任务栏概念,但合并了用于运行应用程序的按钮。KDE 最明显的变化之一是添加了 Konqueror 浏览器,它首次出现在 KDE 2 中。

KDE 2.2.2 (2001),显示 Konqueror 浏览器

Fedora Core 2 上的 KDE 3.2.2 (2004),显示 Konqueror 文件管理器(使用 Fedora Core 2 主题)
GNOME 2 也使用了任务栏概念,但将任务栏分成两个:屏幕顶部的任务栏用于启动应用程序和响应桌面警报,页面底部的任务栏用于显示正在运行的应用程序。就我个人而言,我将这两个任务栏称为“你可以做的事情”(顶部)和“你正在做的事情”(底部)。除了简化的用户界面外,GNOME 还添加了一个更新的文件管理器,名为 Nautilus,由 Eazel 开发。

Fedora Core 2 上的 GNOME 2.6.0 (2004),显示 Nautilus 文件管理器(使用 Fedora Core 2 主题)
随着时间的推移,KDE 和 GNOME 走了不同的道路。两者都提供了功能丰富、强大且现代的桌面环境——但具有不同的用户界面目标。2011 年,GNOME 和 KDE 在桌面界面的方法上出现了重大偏差。KDE 4.6(2011 年 1 月)和 KDE 4.7(2011 年 7 月)提供了更传统的桌面隐喻,同时继续依赖许多用户熟悉的任务栏概念。当然,KDE 在底层进行了许多更改,但熟悉的外观和感觉仍然保留。

KDE 4.6,显示 Gwenview 图像查看器
2011 年,GNOME 使用新的桌面概念完全改变了方向。GNOME 3 旨在创建更简单、更精简的桌面体验,让用户专注于他们正在做的事情。任务栏消失了,取而代之的是屏幕顶部的黑色状态栏,其中包括音量和网络控件,显示时间和电池状态,并允许用户通过重新设计的菜单启动新程序。
菜单是变化最大的地方。单击“活动”菜单或将鼠标移动到“活动”热角会显示所有打开的应用程序作为单独的窗口。用户还可以从“概述”中单击“应用程序”选项卡以启动新程序。“概述”还提供了集成的搜索功能。

GNOME 3.0,显示 GNOME 图片应用程序

GNOME 3.0,显示“活动概述”
你选择的桌面
Linux 有两个桌面意味着用户有很大的选择余地。有些人喜欢 KDE,有些人喜欢 GNOME。这很好。选择最适合你的桌面。
可以肯定的是,KDE 和 GNOME 都有粉丝和批评者。例如,GNOME 因为放弃任务栏而转而支持“活动概述”而受到了相当多的批评。也许最著名的批评者是 Linus Torvalds,他在 2011 年大声谴责并放弃了新的 GNOME,称其为“一团糟”——然后在两年后回归 GNOME。
其他人也对 GNOME 3 提出了类似的批评,以至于一些开发人员 fork 了 GNOME 2 源代码以创建 MATE 桌面。MATE(代表 MATE Advanced Traditional Environment)延续了 GNOME 2 的传统任务栏界面。
无论如何,毫无疑问,当今最流行的两个 Linux 桌面是 KDE 和 GNOME。它们的当前版本都非常成熟且功能丰富。KDE 5.16 (2019) 和 GNOME 3.32 (2019) 都试图简化和精简 Linux 桌面体验——但方式不同。GNOME 3.32 继续追求极简外观,移除所有分散用户界面元素的元素,以便用户可以专注于他们的应用程序和工作。KDE 5.16 采用更熟悉的方法,使用任务栏,但添加了其他视觉改进和风格,尤其是在改进的窗口小部件处理和图标方面。

KDE 5.16 Plasma

GNOME 3.32
与此同时,你不会完全失去兼容性。每个主要的 Linux 发行版都提供兼容性库,因此你可以在运行 GNOME 的同时运行来自 KDE 的应用程序。当你真正想使用的应用程序是为另一个桌面环境编写的时,这非常有用——没问题;你可以在 GNOME 上运行 KDE 应用程序,反之亦然。
我不认为这种情况会在短期内改变。我认为这是一件好事。KDE 和 GNOME 之间的良性竞争使两个阵营的开发人员都能够突破界限。无论你使用 KDE 还是 GNOME,你都拥有一个具有出色集成的现代桌面。最重要的是,这意味着 Linux 拥有自由软件中最好的功能:选择。
10 条评论