几张图了解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
(完)
- 本文作者:吴泽辉
- 本文链接:https://mutex.top/posts/4644f820/
- 发表日期:2019年1月20日
- 版权声明:本文章为原创,采用《知识共享署名-非商业性使用-禁止演绎 4.0 国际许可协议》进行许可