X 視窗/X 協議:用於 UNIX 和 Linux 圖形顯示的 X 視窗系統協議(X Window or X Protocol or X System)
X 視窗系統協議,即 X 視窗或 X 協議,是一個圖形結構,用於 UNIX 和 Linux 下的圖形系統。X 視窗系統很少用於 VMS、MVS 和 MS-WINDOWS 等系統。它為顯示視窗圖形提供了固有的面向客戶機/伺服器的基礎。X 視窗系統提供了一個公用協議,通過它客戶程式可以查詢和更新 X 伺服器上的資訊。X 視窗系統(X 協議)允許網路中不同電腦上的進程在其它網路顯示器上顯示內容。
X 視窗系統(X 協議)定義的客戶機和伺服器角色如下:
X 伺服器是一種運行在使用者案頭的程式,用於管理視頻系統,包括互動式 I/O 裝置,如滑鼠、鍵盤和一些特殊裝置等。主要功能有:
- 在螢幕上顯示圖形請求
- 回複請求資訊
- 報告請求中的錯誤
- 管理鍵盤、滑鼠和顯示器裝置
- 將鍵盤和滑鼠輸入複用到串連各自 X 客戶機(X 事件)的網路上
- 建立、映射和刪除視窗
- 在視窗中寫和繪圖
X 客戶機是一個運行在串連 X 伺服器以顯示圖形的另一個主機上的應用程式。客戶機通常運行在一個強大的 UNIX/LINUX 平台上,也就是通常的“伺服器“。主要功能有:
- 發送請求給伺服器
- 從伺服器處接收事件
- 從伺服器處接收錯誤
X 系統將各種組件分成各個單獨的子系統。X 視窗系統(X 協議)架構的主要組件有:
- 視窗管理員 - 當滑鼠指標指向由特定應用程式控制的螢幕範圍外時,控制事件的發生。
- 程式/檔案管理員 - 通常是一個顯示應用程式圖示的程式,並允許使用者運行這些程式。
- 內部程式介面 - X 視窗客戶機通訊的標準模式,稱之為 ICCCM。CORBA 也用來提供更加精密複雜的方法用於 X 視窗通訊。通訊的實現基於 TCP/IP 網路。
X 視窗系統( X 協議)包括兩個基本版本:X10 和 X11。
協議結構
X 協議具有以下客戶機和伺服器間的主要通訊資訊:
請求
- X 客戶機向 X 伺服器發出服務要求,如建立 Window 。
- 為增強效能,X 客戶機通常並不期望或等待響應。請求保留給可靠的網路層進行傳送。
- X 請求是 4 位元組的任意倍。
回覆
- X 伺服器響應某個的 X 客戶機請求。注意:並不是所有的請求都需要響應。
- X 回覆是 4 位元組的任意倍,但最小為 32 位元組。
事件
- X 伺服器將轉寄事件給 X 客戶機。可能包括鍵盤或滑鼠輸入。為減小網路流量,只有期望的事件發送給 X 客戶機。
- X 事件是 32 位元組。
差錯
- X 伺服器應客戶機請求報告差錯。差錯與事件相似,但它們的處理不同。
- X 差錯大小與事件相同,用於簡化它們的處理。它們被發送到 X 客戶機(32 位元組)的差錯處理常式中。
相關協議:IP、TCP、CORBA
組織來源:X Window / X Protocol 由 X.ORG(http://www.x.org)推出。
相關連結:http://www.x.org/X11_protocol.html:The X Protocol.