我最早在 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 使用一个名为 Program Manager 的普通启动器。

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

Windows 95 显示 Notepad 编辑器
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 这个名称也旨在模仿 “Big 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 网络对象模型环境。GNOME 旨在成为完全免费的软件,并使用了来自 GIMP 图像编辑器的不同工具包,称为 GTK。GTK 字面意思是 GIMP 工具包。当 GNOME 1.0 最终于 1999 年发布时,Linux 又有了另一个现代桌面环境。

GNOME 1.0 版
虽然 Linux 拥有两个桌面环境是一件好事,但 “KDE 与 GNOME” 的竞争持续了一段时间。到 1999 年,Trolltech 在新的公共许可证(Q 公共许可证 (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 高级传统环境)延续了 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 条评论