以下內容主要來源於《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創建一個統一的桌面