X Window

X Window

X窗口是一種用於UNIX系統的標準圖形化用戶界面(GUI),它是由麻省理工學院開發的。

簡介


X窗口,X Windows圖形用戶介面 X Window
GUI是用滑鼠器和鍵盤控制的,具有下拉菜單、在屏按鈕、捲動條和為運行不同應用的重疊窗口界面。其它GUI環境的例子包括Apple的Macintosh、Microsoft的Windows和IBM的O3/2 Presentation Manager。然而,X窗口環境是一種可以在遠程連接之上很好工作的客戶機/伺服器式的設計。
考慮到開發人員,x窗口為開發基於圖形的分散式應用程序提供軟體工具和標準應用程序編程介面。完成的應用是與硬體無關的,這意味著它們可以在支持x窗口環境的任何系統上運行。完整的這種環境通常被簡單地稱為“X”。
X窗口系統在位映射屏幕上的一個或多個窗口中運行程序。用戶可以在每個窗口同時在系統上運行多個程序,並且通過用滑鼠器點擊它們來在窗口之間進行交換。圖X-4示意了一個X窗口環境,並將在下面討論:
稱為x伺服器的程序在本地工作站上運行,並且管理它的窗口和程序。
每個程序窗口都被稱為x客戶,並且與在同一個機器上運行的x伺服器程序以客戶機/伺服器關係進行交互。
X伺服器處理所有X客戶的處理程序,以及通過消息傳遞系統和其它客戶交互工作。X伺服器控制整個本地環境,因而當訪問存儲器和其它系統資源時,程序間進行合作。
X伺服器運行x窗口管理器程序,這個程序提供GUI界面。現在可以使用兩種窗口管理器:Motif和Open Look。它們在功能上是類似的,並且運行相同的程序。

說明


在本地機器運行的x伺服器可以和遠程計算機上運行的程序進行交互,並且在本地窗口顯示這些程序的輸出。它是一種客戶機/伺服器的關係,但是本地伺服器具有全權控制,並且遠程進程被稱為客戶機,而不是伺服器,這是因為它們是處於這個本地的x伺服器的控制之下的。
在Internet和其它廣域網環境,上面最後一點是非常重要的。用戶可以對運行在遠程計算機上的程序進行工作。這個遠程程序在它需要經常訪問的資源(如磁碟數據)附近運行。只有需要修改用戶屏幕的信息才被通過遠程鏈路進行傳輸,從而避免了將整個程序和它的數據都傳輸到本地系統進行處理時可能出現的瓶頸。
X伺服器和遠程X客戶機之間的介面是面向事件的,並且是基於X協議的。這種協議在傳輸控制協議/Internet協議(TCP/IP)之上運行。在一些情況下,一些廠商通過增加象三維圖象這樣的功能來增強了X窗口環境。X窗口環境的一個優勢是,伺服器應用程序可以在任何平台上運行,並且這個應用程序可以在公用運輸協議之上與這個客戶機交換一組消息。於是,開發人員就可以在許多系統上建立X窗口-認可的應用程序,並且這些應用程序可以被任何支持X窗口的工作站訪問。
X窗口是開放軟體基金會(OSF)的Motif和Open Look系統的用戶介面。SunSoft的Solaris2操作系統也實現了由AT&T開發的X窗口實現。