几张图了解GNOME和KDE

之前用的ubuntu虚拟机,最近奇卡无比,所以重装了个系统,本着折腾的原则换成了debian。

在安装的过程中会选择使用哪个桌面环境,默认是GNOME,之前也听说过GNOME与KDE,但是不知道两者的联系与区别,最近正好在网上看到了文章,遂总结了下。

X window

最开始接触X window还是在安装oracle的时候,默认好像是启动图形界面来安装,如果配置有问题,会有相应的报错。

X window是MIT在1986 年正式发行的。

这张图是X window的架构图。为什么衍生出X window呢?

原因是Linux系统下的命令行操作十分强大,而且以Unix内核为基础,即在内核不改变的情况下,通过这种通讯的方式可以实现GUI。这种方式的优势是设计很灵活,只要你有能力就可以搞一套自己的GUI(遵循指定的通讯协议,即X protocol)

当然缺点也是显而易见的:这种架构代表X window只能是一个软件,所以性能相对低下。与之相比的微软的Windows系统,图形界面是嵌入在内核中,没有中间的通讯层,效率会更好。

GNOME与KDE

通过上面的架构图,我们能知道,GNOME和KDE只是X server不同的客户端。

GNOME和KDE的目标是一样的,旨在打造一个功能完善、免费的GUI。

我通过整理下面的图来理解两种GUI的变迁。

这张图画的并不好,有好多内容体现不出来,下面一一说一下:

技术差异

GNOME采用GTK图形库,GTK由c语言开发。 KDE采用qt图形库,qt由c++开发。

协议差异

GNOME和KDE均遵循GPL协议。 GNOME采用的GTK一样遵循GPL;与之不同的qt库是不遵循GPL的,这也是两大阵营发展不同的根本原因。

发展历程

KDE由于诞生较早,而且采用当时比较完善的qt图形库,所以在2003年之前KDE一直是领先与GNONE的。

但是由于qt不遵循GPL的原因,商业巨头基本都对GNONE进行支持,最终GNOME在技术上得到更大的发展,以至于到现在常用的如centos,debian等均使用GNOME作为默认GUI。

合作共赢

两个阵营的开发者经过时代的起起落落,当然也经历过骂战,但是最终还是意识到对方的重要性,都为开源,如果重复造轮子,本身就是对资源的浪费。

所以在2003开始就互相支持对方的软件,只需要安装GTK或qt库即可。

GNOME和KDE的目标是一样的,只是KDE致力于商业化,GNOME是开源。两个阵营的合作也让他们在面临硬件厂商的时候更有发言权。

总结

GNOME和KDE的发展,我们能感受到商业公司对技术方向的影响力。如果没有这些巨头在经济和技术的支持,开源可能就不复存在。

也正是这些商业集团,KDE从最初的技术领先,到之后的“没落”。因为KDE依赖的qt是挪威公司TrollTech的产物,包括KDE的发起者MatthiasEttrich也在98年加入了TrollTech。这其中一定包含了商业公司之间的利益冲突。

同时也展示了开源的力量,所有的开发者都是为了兴趣来投入精力(当然也有金钱),开发者不再局限于某个公司,或某个国家,而是全球性的。

而最终的结果就是:开发者得到自我实现,包括对技术,声誉,金钱的追求等;商业企业也在这个过程中衍生出新的盈利模式。

参考链接

https://i.linuxtoy.org/docs/guide/ch49.html

(完)