Linux黑話你知道嗎?啥是顯示伺服器
導讀 |
在
相關的文章、新聞和討論中,你會經常遇到顯示伺服器display server、Xorg、Wayland 等名詞。在這篇解釋文章中,我將討論 Linux 中的顯示伺服器。
|
在 Linux 相關的文章、新聞和討論中,你會經常遇到顯示伺服器display server、Xorg、Wayland 等名詞。
在這篇解釋文章中,我將討論 Linux 中的顯示伺服器。
顯示伺服器是一個程式,它負責協調其客戶端與作業系統的其他部分之間,以及硬體和作業系統之間的輸入和輸出。基本上,多虧了顯示伺服器,你才能以圖形化的方式使用你的計算機(GUI)。如果沒有顯示伺服器,你只能侷限於 行介面(TTY)。
顯示伺服器提供了一個圖形環境的框架,使你可以使用滑鼠和鍵盤與應用程式進行互動。
顯示伺服器透過顯示伺服器協議(如 X11)與客戶端進行通訊。顯示伺服器是圖形使用者介面 —— 特別是視窗系統 —— 中的一個關鍵元件。
不要把顯示伺服器和桌面環境混淆。桌面環境的下層使用的是顯示伺服器。
聽起來很熟悉,但又不完全清楚?讓我來解釋一下。
Linux 中有三種顯示伺服器協議,分別是 X11、Wayland 和 Mir。下面我就給大家簡單介紹一下這些顯示伺服器。
X11(也稱 X)是已經存在多年的傳統顯示伺服器。它是 Linux 發行版中最常用的顯示伺服器。
X11 通訊協議,使用顯示伺服器 X.org 伺服器。它接收來自裝置驅動程式的輸入事件,並將它們提供給它的一個客戶端。
顯示伺服器也從客戶端接收資料,它處理資料並進行合成,在 Linux 上,它將資料傳遞給三個核心元件之一:DRM、gem 或 KMS 驅動。
X.Org 伺服器是一個顯示伺服器,它依靠第二個程式:合成視窗管理器,來進行合成。例如 Mutter 或 KWin。GNOME 使用的是 Mutter。
按照其網站的說法,Wayland “旨在作為 X 的更簡單的替代品,更容易開發和維護”。
而事實上 Wayland 就是現代的顯示伺服器,它應該取代傳統的 X 顯示伺服器。
對它的採用還在普及中。Ubuntu 曾試圖在 17.10 版本中改用 Wayland 作為預設的顯示伺服器,但這個嘗試遭到了負面反饋。
很多 GUI 應用程式及其框架都依賴於 X 伺服器。這些應用程式在 Wayland 上無法正常工作。
這迫使 Ubuntu 繼續使用 X 作為預設顯示伺服器。它仍然提供了使用 Wayland 的選項,但不再是預設的了。
即使在今天,絕大多數的發行版都預設使用 X 顯示伺服器。
實施 Wayland 顯示伺服器協議的顯示伺服器,被稱為 Wayland 合成器。和 X11 上的一樣,Wayland 合成器負責處理其客戶端的輸入和輸出,但同時也進行合成,這與 X11 相反。
幾個 Wayland 合成器是 Weston、Mutter、KWin 或 Enlightenment。
Mir 顯示伺服器自帶的 Mir 顯示伺服器協議,與 X11 和 Wayland 使用的協議不同。它是由 Canonical 開發的,作為 Unity 開發的一部分,打算成為 Ubuntu 的首選顯示伺服器。
但在 2017 年,它已經被 [Ubuntu] 桌面版的 Wayland 顯示伺服器所取代,不過 Mir 的開發還在繼續,用於物聯網(IoT)應用。
Wayland 作為比較新的產品,相比 Xorg 來說,還不是很穩定。作為客戶端的程式,必須知道如何與顯示伺服器進行通訊。
因此,很多程式在使用 Wayland 時可能無法執行。Ubuntu 預設切換到 Wayland 的實驗證實了這一點。
我希望你對 Linux 中的顯示伺服器概念有了更好的理解。我已經儘量不談太多的技術細節,但我無法完全避免。
原文來自:
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/69955379/viewspace-2722170/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 伺服器能做那些有趣是!你知道嗎?????伺服器
- 什麼是OA伺服器,你知道嗎?伺服器
- 你知道如何學習Linux嗎?Linux
- 玩黑神話買RTX4060還是4070顯示卡?RTX4060和4070顯示卡入手建議
- 你知道什麼是ECMAScript嗎?
- 你知道什麼是 AOP 嗎?
- 你知道SSL是如何工作的嗎?
- 你知道什麼是微服務嗎?微服務
- 電話機器人怎麼買,你知道嗎?機器人
- Linux伺服器有哪些防護要點?這幾個你知道嗎?Linux伺服器
- 【白話科普】網站圖片不顯示,背後的原因你都清楚嗎網站
- Linux伺服器作業系統的六大特性,你都知道嗎?Linux伺服器作業系統
- 你知道的反射是這樣嗎?(二)反射
- 你知道什麼是區塊鏈嗎?區塊鏈
- 你知道什麼是路由器嗎?路由器
- 你知道什麼是後端套模板嗎?他們是怎麼操作的知道嗎?後端
- 本地顯示Linux伺服器的GUI程式Linux伺服器GUI
- 你知道入坑Linux需掌握哪些技能嗎?Linux
- 你真的知道Python的字串是什麼嗎?Python字串
- 你真的知道什麼是系統呼叫嗎?
- 你知道什麼是三層架構嗎?架構
- 你知道前端是如何實現水印的嗎前端
- DRS是啥你都不知道?不是吧,不是吧
- 你知道直方圖都能幹啥?直方圖
- Flutter適配深色模式(DarkMode):看!你要的黑是這個黑嗎?Flutter模式
- 常見的Linux系統有哪些?你知道嗎?Linux
- 關於Linux系統,這些你都知道嗎?Linux
- 4.14你知道入坑Linux需掌握哪些技能嗎?Linux
- 你知道什麼是二次元嗎?二次元
- 你知道Spring中BeanFactoryPostProcessors是如何執行的嗎?SpringBean
- Dart | 你知道 sync*/async* 是怎麼用的嗎?Dart
- 你真的知道協程是怎麼來的嗎?
- 你知道什麼是空閒回撥(requestIdleCallback)嗎?
- 雲伺服器建站的幾點好處,你知道嗎?伺服器
- 《HR黑話大全》:那些殘忍的潛臺詞!你知道哪些?面試必懂。面試
- 智慧電話營銷機器人有哪些特點?你知道嗎?機器人
- 這是一個可以顯示Linux命令的工具Linux
- 你真的知道什麼是 Python「名稱空間」嗎?Python