X11

術語協調:顯示管理器與會話管理器、視窗系統與視窗管理器

  • September 28, 2014

我正在學習 Linux Foundation 的 Linux入門課程。一些術語似乎重疊或矛盾,尤其是當我嘗試用其他來源補充課程材料時,例如TLDPWikipedia

“顯示管理器”與“會話管理器”是否相同?

**顯示管理器:**通過啟動視窗系統並通常要求輸入使用者名和密碼來啟動視窗系統會話的程序。

**會話管理器:**啟動和維護圖形會話的組件。

同樣,“視窗系統”是否與“視窗管理器”相同?

**視窗系統:**為高級軟體使用提供 GUI 的關鍵元素的軟體。為應用程序提供(通常)矩形、可調整大小的表面,以向使用者展示其 GUI。

**視窗管理器:**控制視窗、視窗鑲邊和控制項的放置和移動。

只是為了確定 X:據我所知,“X Window System”似乎是點陣圖顯示的視窗系統,“X11”是 X Window System 的目前協議版本,而“X.Org Server”是X11 協議的參考實現。那是對的嗎?

這是一個非常簡短的粗略描述:

**顯示管理器:**為您提供圖形登錄然後啟動會話的程序。以 root 或專用使用者身份執行。

**會話管理器:**實際控制您的會話的程序。在您的帳戶下執行。

**視窗系統:**完整的 GUI 繪圖/控制系統。描述的不是組件本身,而是所有組件。

**視窗管理器:**確定視窗放置位置、獲得哪些裝飾(框架、關閉/圖示化/菜單按鈕等)以及如何獲得/失去焦點的程序。

視窗系統是一個軟體組件,它為應用程序提供繪製視窗並可以在螢幕上顯示這些視窗。X Window System是 Unix 系統上的標準視窗系統;在 Mac OS X 之外,它並沒有真正的競爭(如果WaylandMir變得可行,這可能會改變)。X Window System 具有客戶端-伺服器架構,其中伺服器(稱為 X 伺服器或 X11 伺服器)管理顯示硬體,客戶端是應用程序。在 X 伺服器上顯示視窗的應用程序稱為 X 客戶端或 X 應用程序(或 X11 客戶端或 X11 應用程序)。

就應用程序而言,重要的是應用程序和視窗系統之間的通信協議。該協議被稱為 X11(該協議的第 11 版,自 1987 年以來的目前版本),具有幾個常見的擴展。

X.Org是 X 視窗系統的一個實現。自 2004 年項目開始以來,它一直是事實上的標準實現,從XFree86接管。X.Org 包括 X 伺服器的通用部分和特定於硬體的部分,以及許多客戶端庫和實用程序。

顯示管理器是一個 X11 應用程序,其目的是驗證使用者身份(通常通過提示輸入使用者名和密碼),並在成功驗證後以該使用者身份啟動會話。顯示管理器以 root(至少部分)身份執行,並在使用者登錄時終止或至少離開前台。顯示管理器負責啟動 X 伺服器,該伺服器同時為登錄提示和後續使用者會話提供服務。

會話管理器是一個程序,其工作是啟動其他程序。這是作為使用者互動式會話的一部分啟動的第一個程序。它可以由顯示管理器啟動(在它放棄特權之後)。如果使用者通過顯示管理器以外的其他方式登錄(通常使用文本模式登錄提示),它也可以由以使用者身份執行的某個程序啟動;這通常是通過startx負責啟動 X 伺服器、執行會話管理器並在完成後終止 X 伺服器的腳本。會話管理器可以是任何東西,從使用者可以在其中鍵入命令的簡單終端仿真器,到啟動多個預定義程序的腳本,再到記住從一個會話到下一個會話的應用程序和視窗位置的複雜程序。當會話管理器退出時,會話結束。

視窗管理器是一個具有特殊角色的 X 客戶端。它在創建新視窗時接收通知,通常會擷取許多使用者事件(鍵和滑鼠綁定)。它的工作是選擇顯示視窗的位置和大小、顯示和隱藏視窗、顯示視窗裝飾(邊框、標題欄……)等。幾乎每個視窗管理器都可以用作會話管理器——視窗管理器無論如何都必須執行整個會話。大多數視窗管理器為使用者提供了一種通過菜單或鍵綁定啟動新程序的方法,儘管嚴格來說這不是視窗管理器角色的一部分。

您沒有提到的另一個術語是桌面環境。桌面環境是 X 客戶端的集合,至少包括會話管理器、視窗管理器和圖形外殼,以及諸如菜單、停靠欄、剪貼板管理器、宏工具等實用程序的集合。

引用自:https://unix.stackexchange.com/questions/156549