以下内容主要来源于《linux程序设计》
LINUX下有两个受欢迎的GUI库:GTK+ KDE/QT
这两个库对应的两个桌面环境是 GNOME KDE
ubuntu的默认桌面环境是Unity
centos的默认桌面环境是GNOME
ubuntu需要自己安装GNOME KDE
另外这些桌面环境的切换与默认配置请自己百度,我也不知道
linux中所有的GUI库都基于X视窗系统的底层视窗系统
X视窗系统被分为硬件级组件和应用程序级组件,分别称为X服务器和X客户端,组件使用X协议通信
X服务器运行在用户的本地机器上,X服务器直接与显卡,X服务器通过鼠标和键盘监听用户输入,并将键盘按键和鼠标点击传输给X客户端应用程序。
X客户端等待X服务器传送的用户事件,然后通过给X服务器发送重绘消息来响应。
X客户端和X服务器通过X协议进行通信
Xlib是客户端间接用于产生X协议消息的库,非常底层
X工具包是一个GUI库,X客户端可以利用它简化窗口、菜单和按钮等的创建。
GTK+简介
GTK+是一个函数库,它提供了一组已经制作好的被称为构件的组件。
GTK+本身是建立在一组其他函数库之上的,如:
GLib
GObject:使用C语言实现了一个面向对象系统
GDK:在XLIB之上处理底层图形渲染
Xlib:前面所讲到的X视窗系统的库
GNOME项目
GNOME项目的目标是为LINUX创建一个统一的桌面