Linux学习笔记:Linux的桌面环境

在了解桌面环境之前,必须要知道的是Linux本身没有图形界面,本身只是一个基于命令行的操作系统。具体实现是通过如下的机制进行实现的:

左边是Linux系统的架构,右边是Windows系统的架构,可以看到Linux比Windows中间多了一层,这就导致Linux在图形界面的性能要比Windows慢。但是苹果公司的 MAC OS (Unix系统)却是个例外,因为苹果公司在X Server与X Client之间所采用的协议是二进制,而其他Linux系统均是采用的纯文本。

在Linux系统中,可以在命令行系统中输入 startx ,X并不表示具体的软件,指的是协议。x.org则是实现x协议的服务器,相当于实现实现了HTTP协议的Apache、Nginx等,而各种X client 好比是不同的交互界面。主流的交互界面有:GNOME、KDE、XFCE和LXDE。各种不同桌面环境的区别:

  • GNOME  目前较流行的桌面环境了,主流的Linux发行版,如Ubuntu、CentOS等都以GNOME为默认桌面,GNOME 3的界面也非常的绚丽,操作手感有点类似与MAC OS X。
  • KDE  与GOME类似,但是界面等操作手感更像Windows,KDE的衰败是从KDE 3 升级到KDE 4的时候,中间出现了很多的不稳定版本,导致一些忠实粉丝转头到了其他阵营。
  • XFCE  相比GNOME和XKDE更加轻量,是Unix模块化、重用代码理念的践行者。其中包含各种功能的组件,各个组件划分成不同的包,用户可以自由选取需要的安装使用。
  • LXDE  比起其他桌面环境,LXDE占用更少的CPU、内存,是为上网本、移动设备、旧机器特别设计的轻量桌面环境。

了解了各个桌面系统的不同,其中又涉及到一个新的概念点,QT与GTK+,其中KDE是基于QT开发的,而GNOME、XFCE、LXDE均是基于GTK+进行开发的,两者有什么区别?

  • GTK+  GTK+使用C语言开发,用C写面向对象所比较复杂艰涩,而且充满大量宏,使用和除错都不是很容易。虽然在思想上比较先进,但是使用起来麻烦。
  • QT  Qt是一个跨平台的C++图形应用程序框架,Qt是诺基亚的一个产品。 相比GTK+,Qt的最大优势面向对象,Qt的良好封装机制使得 Qt的模块化程度非常高,可重用性较好,对于用户开发来说是非常方便的。

GTK+和QT相当于Windows上的MFC。另外还有一个概念是Xlib。Xlib实际上是对底层X协议的封装,可通过该函数库进行一般的图形输出。由于Xlib的接口太原始而且复杂,因此一般的图形程序选择其他高级一些的图形库作为基础。所以才有了GTK、QT 等。Xlib、QT、GTK直接关系如下图:

QT是直接使用xlib库的,GTK不能直接使用xlib,而是使用更低层的函数库GDK和Glib。这种结构使得Gtk可以更方便地移植到其它系统上,或使用与XWindows系统无关的图形库。

其他参考资料:

  • 版权声明: 本文源自互联网, 于6个月前,由整理发表,共 1495字。
  • 原文链接:点此查看原文