一、 linux圖形界面
linux本身沒有圖形界面,linux現在的圖形界面的實現只是linux下的應用程序實現的。
圖形界面并不是linux的一部分,linux只是一個基于命令行的操作系統,linux和Xfree的關系就相當于當年的DOS和 windows3.0一樣,windows3.0不是獨立的操作系統,它只是DOS的擴充,是DOS下的應用程序級別的系統,不是獨立的操作系統,同樣 XFree只是linux下的一個應用程序而已。不是系統的一部分,但是X的存在可以方便用戶使用電腦。
WINDOWS95及以后的版本就不一樣了,他們 的圖形界面是操作系統的一部分,圖形界面在系統內核中就實現了,沒有了圖形界面windows就不成為windows了,但linux卻不一樣,沒有圖形 界面linux還是linux,很多裝linux的WEB服務器就根本不裝X服務器.這也WINDOWS和linux的重要區別之一。
linux圖形相關軟件層次:
二、X協議
X是一個開放的協議規范,當前版本為11,俗稱X11。X Window System由客戶端和服務端組成,服務端X Server負責圖形顯示,而客戶端庫X Client根據系統設置的DISPLAY環境變量,將圖形顯示請求發送給相應的X Server。
三、Xfree86 Xorg
Xfree86,Xorg是X協議的軟件實現。XFree86只是實現X協議的一個免費X服務器軟件,只不過現在LINUX上最常用的是Xorg了。而蘋果電腦的圖形界面用的也是X協議,而且被認為是做的最好的X協議圖形界面,并且他對X協議的實施是做在系統內核里的,所以性能明顯好很多,這就是為什么很多大型三維圖形設計軟件都是在蘋果平臺上的原因。
/usr/X11R6
這個目錄,這是XFree的默認安裝目錄,X11R6 實際上是 X Protocol version 11 Release 6
。
四、WM(window manager:窗口管理器)
WM的作用就是最大化,最小化,移動,關閉窗口等.而這些不是X服務器來負責完成的,所以,我們看到的linux圖形界面,都是啟動了WM的,否則linux圖形界面的窗口將不能移動,放大和縮小。
五、X協議的Client端實現
XFree86
是X協議的服務器軟件(注以軟件的形式實現),但Client端更多的是方便程序員更方便的使用X協議與服務器端的XFree86交互,故就產生了一個Xlib庫,封裝了X協議內容,如果你還覺得直接使用Xlib不方便,于是就產生了qt和gtk
,對Xlib進一步封裝,提供了很多控件,可以可視化的使用X協議更方便程序員的開發。
Xlib、qt、gtk
直接關系如下圖:
QT是直接使用xlib庫的,GTK并為直接使用xlib,而是使用更低層的函數庫GDK和Glib。這種結構使得Gtk可以更方便地移植到其它系統上,或使用與XWindows系統無關的圖形庫。
六、KDE、GNOME、QT和GTK直接關系
KDE
和GNOME
是窗口管理器,啟動他們后我們進入了可視化操作(圖形界面),既然需要顯示圖形,自然少不了與X協議的服務器軟件打交道,既然QT和GTK進一步封裝了X協議,并且他們提供了更為豐富的窗口及控制機制,于是在QT基礎上實現的窗口管理器叫KDE,在GTK基礎上實現的窗口管理器叫GNOME.
再次提示:KDE和GNOME并不只是窗口管理器,同時提供了桌面、菜單等等。
其它的小型窗口管理器有:
-
windowmaker -
after step -
blackbox -
fvwm -
fvwm2 -
...等等都是常用的優秀窗口管理器。
REDHAT9中有windowmaker
但是默認不安裝,大家可以裝來試試.只要xinit
再wmaker&
就可以用 windowmaker
了。
CSDN: https://blog.csdn.NET/CLinuxF/article/detAIls/131761128?spm=1001.2014.3001.5501