新浪網

  新浪首頁 > 科技時代 > FreeBSD使用大全連載 > FreeBSD連載(48):X Window的基本概念
 


FreeBSD連載(48):X Window的基本概念

http://www.sina.com.cn 1999年12月21日 15:56 王波

使用和配置X Window

  設置好X服務器之后,就可以使用startx啟動圖形界面,以使用其他圖形界 面的經驗來使用X Window,但使用者常常會發現這個界面相當簡單和粗糙。這是因 為X Window具有很大的靈活性和可配置性,其最基本的系統只提供了最基本設置, 如果要真正得到好用的界面,還需要進一步的設置。

  為了設置和使用X Window系統,首先就需要了解相關的X Window概念。

  • X Window的基本概念

  第一次接觸X Window系統的使用者很容易混淆X Window系統中的客戶機/服 務器的概念,初次接觸X Window的使用者會認為X Window下的客戶機/服務器的概念 與普通網絡中的客戶機/服務器的概念不太相同。通常的觀念中,使用者使用客戶工 作站,使用遠端服務器提供的文件或打印服務,而在X Window下,使用者使用X服務 器進行操作,而客戶程序可以運行在本地或者遠端計算機上。

  如果進一步理解客戶/服務器的概念,就會了解客戶/服務器的概念指的是具 體運行的進程,而非計算機或使用者。不是與使用者聯系最密切的計算機就是客戶, 而是首先要明確服務資源,然后再以資源提供者和資源占用者來進行區分。在一般 的客戶/服務器方式的應用中,一般是客戶程序直接與使用者交互,因此就容易造成 錯誤的概念,以使用者為中心來區分客戶和服務器。

  但在X Window下,服務資源為X服務器的顯示處理能力,X客戶程序要顯示圖 形圖象,但它不能直接控制顯示硬件,只能使用由用戶面前的X服務器提供的顯示資 源,同樣它也不能接受用戶輸入,也只能使用X服務器控制的鍵盤或鼠標資源來接受 輸入。在這里,X服務器是硬件的控制者,X客戶只是單純的執行程序,只能使用X服 務器提供的服務進行輸入輸出。

  • X服務器(X Server)是一個管理顯示的進程,必須運行在一個有圖形 顯示能力的計算機上。理論上,一台計算機上可以同時運行多個X服務器,每個X服 務器能管理多個與之相連的顯示設備。
  • X客戶程序(X Client)是一個使用X服務器顯示其數據的程序,它可以運行 在與X服務器不同的計算機上。
  • X協議(X protocol)是X客戶程序和服務器進行通信的一套協議,X協議支持 網絡,能在本地系統中和網絡實現這個協議,支持的網絡協議有TCP/IP、DECnet等。

  X的這種任務划分有几個優點:

客戶程序可以在遠程計算機上執行計算任務,而使用的X服務器僅負責復雜的圖形 顯示,充分發揮X服務器在顯示上的優勢。

  只有X服務器與硬件打交道,所有的客戶程序都是硬件無關的,很容易在不同 的平台上移植。

  客戶程序可以在不同的計算機上運行,從巨型機到個人計算機,充分發揮網絡 計算的優越性。

  盡管每個X客戶程序都可以對整個屏幕范圍內進行顯示操作,但標准的做法是先 創建一個顯示窗口,此后客戶程序的所有顯示都相對于這個窗口進行操作。這樣在同一 屏幕內,就能同時顯示多個獨立的客戶程序,通過對窗口的管理在不同的程序之間進行 切換。每個窗口應該位于屏幕的哪個位置,何時顯示,何時隱藏,以及窗口的標題、四 周如何顯示,這些都不應該由產生這個窗口的客戶程序自己控制和維護,否則就不能達 到簡化設計的目的。X Window并沒有自己實現這些任務,在X的設計原則中,這些代表 GUI風格的任務仍然是客戶程序的任務,因此X將管理窗口的任務給予了一個特殊客戶程 序 ── 窗口管理器,使用不同的窗口管理器將使X Window的外觀看起來截然不同。

  X系統只負責顯示圖形,并不限制顯示和操作的風格,因此不同的X Window的風 格并不相同,使用者可以根據自己的喜好進行選擇。

  因此X Window上,所有的窗口形成了一個樹狀結構。X Window的窗口管理程序運 行在根窗口上,所有的其他窗口為根窗口的子窗口,而其他窗口上也有相應的按鈕、對話 框等組件,這些是它的子窗口。

  由于X Window系統只提供了最基本的系統調用,而具體的窗口都有很多共性,因 此要開發X應用程序,應該首先使用開發工具包,而沒有必要直接使用最基本的X Window 的系統調用,以簡化寫作程序的工作量。不同的公司或組織開發了各種工具包來提供創建 和管理具體窗口的構件,例如Motif套件,OpenLook套件等。每種套件都提供了菜單、按 鈕、對話框等圖形界面的標准構件,還提供基本的窗口管理器。使用不同套件開發的程序 ,其顯示風格也不相同,因此就在不同程序之間形成了不同的GUI風格。Motif和Openlook 就是兩種不同的圖形界面風格,當前Motif成為了商業X Window的一個標准,很多商業軟 件均基于Motif進行開發,而Openlook則沒有獲得更普遍的支持。

未完,待續。。。  



 
  新浪首頁 > 科技時代 > FreeBSD使用大全連載 > FreeBSD連載(48):X Window的基本概念


網站簡介 | 網站導航 | 廣告服務 | 中文閱讀 | 聯系方式 | 招聘信息 | 幫助信息

Copyright(C) 1999 SINA.com, Stone Rich Sight. All Rights Reserved

版權所有  四通利方 新浪網