在 Linux 相關的文章、新聞和討論中,你會經常遇到顯示服務器display server、Xorg、Wayland 等名詞。
在這篇解釋文章中,我將討論 Linux 中的顯示服務器。
什么是顯示服務器?
顯示服務器是一個程序,它負責協調其客戶端與操作系統的其他部分之間,以及硬件和操作系統之間的輸入和輸出。基本上,多虧了顯示服務器,你才能以圖形化的方式使用你的計算機(GUI)。如果沒有顯示服務器,你只能局限于命令行界面(TTY)。
顯示服務器提供了一個圖形環境的框架,使你可以使用鼠標和鍵盤與應用程序進行交互。
顯示服務器通過顯示服務器協議(如 X11)與客戶端進行通信。顯示服務器是圖形用戶界面 —— 特別是窗口系統 —— 中的一個關鍵組件。
不要把顯示服務器和桌面環境混淆。桌面環境的下層使用的是顯示服務器。
聽起來很熟悉,但又不完全清楚?讓我來解釋一下。
Linux 上的顯示服務器協議
Linux 中有三種顯示服務器協議,分別是 X11、Wayland 和 Mir。下面我就給大家簡單介紹一下這些顯示服務器。
X11
X11(也稱 X)是已經存在多年的傳統顯示服務器。它是 Linux 發行版中最常用的顯示服務器。
X 架構
X11 通信協議,使用顯示服務器 X.org 服務器。它接收來自設備驅動程序的輸入事件,并將它們提供給它的一個客戶端。
顯示服務器也從客戶端接收數據,它處理數據并進行合成,在 Linux 上,它將數據傳遞給三個內核組件之一:DRM、gem 或 KMS 驅動。
X.Org 服務器是一個顯示服務器,它依靠第二個程序:合成窗口管理器,來進行合成。例如 Mutter 或 KWin。GNOME 使用的是 Mutter。
Wayland
按照其網站的說法,Wayland “旨在作為 X 的更簡單的替代品,更容易開發和維護”。
而事實上 Wayland 就是現代的顯示服務器,它應該取代傳統的 X 顯示服務器。
對它的采用還在普及中。Ubuntu 曾試圖在 17.10 版本中改用 Wayland 作為默認的顯示服務器,但這個嘗試遭到了負面反饋。
很多 GUI 應用程序及其框架都依賴于 X 服務器。這些應用程序在 Wayland 上無法正常工作。
這迫使 Ubuntu 繼續使用 X 作為默認顯示服務器。它仍然提供了使用 Wayland 的選項,但不再是默認的了。
即使在今天,絕大多數的發行版都默認使用 X 顯示服務器。
Wayland 架構
實施 Wayland 顯示服務器協議的顯示服務器,被稱為 Wayland 合成器。和 X11 上的一樣,Wayland 合成器負責處理其客戶端的輸入和輸出,但同時也進行合成,這與 X11 相反。
幾個 Wayland 合成器是 Weston、Mutter、KWin 或 Enlightenment。
Mir
Mir 顯示服務器自帶的 Mir 顯示服務器協議,與 X11 和 Wayland 使用的協議不同。它是由 Canonical 開發的,作為 Unity 開發的一部分,打算成為 Ubuntu 的首選顯示服務器。
但在 2017 年,它已經被 [Ubuntu] 桌面版的 Wayland 顯示服務器所取代,不過 Mir 的開發還在繼續,用于物聯網(IoT)應用。
為什么我們還在使用 Xorg?
Wayland 作為比較新的產品,相比 Xorg 來說,還不是很穩定。作為客戶端的程序,必須知道如何與顯示服務器進行通信。
因此,很多程序在使用 Wayland 時可能無法運行。Ubuntu 默認切換到 Wayland 的實驗證實了這一點。
結束語
我希望你對 Linux 中的顯示服務器概念有了更好的理解。我已經盡量不談太多的技術細節,但我無法完全避免。
責編AJX
-
Linux
+關注
關注
87文章
11304瀏覽量
209521 -
服務器
+關注
關注
12文章
9160瀏覽量
85426 -
操作系統
+關注
關注
37文章
6825瀏覽量
123333
發布評論請先 登錄
相關推薦
評論