Linux中什麼是“桌面”和X窗口系統

這裏的“桌面”指的是桌面環境,Linux不是一種基於圖形界面環境的操作系統,它的圖形環境是完全可以卸載。在內核眼裏,圖形環境只不過是一個普通的應用程序,和其他的服務器程序沒有什麼不同。
在說桌面,先講X窗口系統的基本組成。X窗口系統(X Window System)是Linux圖形用戶環境的基礎,基於一種夠獨特的服務器/客戶機架構。

X窗口系統的基本組成

  1. X服務器
    X服務器用於實際控制輸入設備(如鍵盤、鼠標等)和位圖式輸出設備((如顯示器)。準確地說,X服務器定義了給X客戶機使用這些設備的抽象接口,但沒有定義高級實體的編程接口,這意味着它不能理解“畫一個按鈕”這類語句。而必須告訴它:“畫一個方塊,周圍有陰影,用戶點鼠標左鍵的時候陰影要消失、、、方塊上還要有字、、”。
    這種設計的意義在於,X服務器能夠最大程度上的與平臺無關。用戶可以自由選擇窗口管理器和widget庫來定製自己的桌面,而不需要改變窗口系統的底層配置。
  2. X客戶端程序
    需要向X服務器請求服務的程序就是X客戶端程序。
  3. 窗口管理器
    窗口管理器負責控制應用程序窗口的各種行爲,如移動、縮放、最大化和最小化窗口,在多個窗口間切換等。從本質上來說,窗口管理器是一種特殊的X客戶端程序,因爲這些功能也是需要向X服務器發送指令實現的。
  4. 顯示管理器
    顯示管理器提供了一個登錄界面,它的任務就是驗證用戶的身份,讓用戶登錄到系統。可以說,圖形界面的一切(除了它自己)都是由顯示管理器啓動,包括X服務器。用戶可以選擇關閉顯示管理器,這樣就必須通過命令運行startx命令(或使用.login腳本)來啓動X服務器。
  5. widget庫
    widget庫定義了一套圖形用戶界面的編程接口。應用程序的開發人員調用widget庫來實現具體的用戶界面,如按鈕、菜單、滾動條、文本框等。
  6. 桌面環境
    桌面環境是把各種X有關的東西(除了X服務器)整合在一起的“大雜燴”。這些程序包括像gedit這樣的普通應用軟件、窗口管理器、顯示管理器和widget庫。無論桌面環境如何複雜,最後處理圖形輸出的仍然是X服務器。

X系統的啓動過程

X系統的啓動過程基本是由顯示管理器完成的。顯示管理器需要做下面的工作:

  1. 啓動X服務器
  2. 提供一個友界面友好的屏幕,等待驗證用戶的身份。
  3. 執行用戶的引導腳本,這個腳本用於建立用戶的桌面環境。
    桌面環境的引導腳本是一段用Linux命令組成的腳本程序,叫做Xsession。Xsession通過啓動窗口管理器、任務欄,設定應用默認值、安裝標準鍵綁定等來啓動整個桌面環境。Xsession會一直運行,直到用戶退出,或者說,當Xsession結束後,用戶就退出了。窗口管理器(Window Manager)是Xsession啓動的唯一的前提程序(其他程序都在後臺執行),如果沒有這個前臺程序,那麼用戶會在登錄又立即退出系統。

第一次使用這個Markdown編輯工具,基本不會用,純文字沒有劃重點,有怪莫怪。感覺還是之前那個富文本編輯好用。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章