国产成人精品亚洲777人妖,欧美日韩精品一区视频,最新亚洲国产,国产乱码精品一区二区亚洲

您的位置:首頁技術(shù)文章
文章詳情頁

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

瀏覽:8日期:2024-02-03 13:17:26
使用和配置X Window

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

為了設(shè)置和使用X Window系統(tǒng),首先就需要了解相關(guān)的X Window概念。

X Window的基本概念

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

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

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

X服務(wù)器(X Server)是一個管理顯示的進(jìn)程,必須運(yùn)行在一個有圖形顯示能力的計算機(jī)上。理論上,一臺計算機(jī)上可以同時運(yùn)行多個X服務(wù)器,每個X服務(wù)器能管理多個與之相連的顯示設(shè)備。

X客戶程序(X ClIEnt)是一個使用X服務(wù)器顯示其數(shù)據(jù)的程序,它可以運(yùn)行在與X服務(wù)器不同的計算機(jī)上。

X協(xié)議(X protocol)是X客戶程序和服務(wù)器進(jìn)行通信的一套協(xié)議,X協(xié)議支持網(wǎng)絡(luò),能在本地系統(tǒng)中和網(wǎng)絡(luò)實現(xiàn)這個協(xié)議,支持的網(wǎng)絡(luò)協(xié)議有TCP/IP、DECnet等。

X的這種任務(wù)劃分有幾個優(yōu)點:

客戶程序可以在遠(yuǎn)程計算機(jī)上執(zhí)行計算任務(wù),而使用的X服務(wù)器僅負(fù)責(zé)復(fù)雜的圖形顯示,充分發(fā)揮X服務(wù)器在顯示上的優(yōu)勢。

只有X服務(wù)器與硬件打交道,所有的客戶程序都是硬件無關(guān)的,很容易在不同的平臺上移植。

客戶程序可以在不同的計算機(jī)上運(yùn)行,從巨型機(jī)到個人計算機(jī),充分發(fā)揮網(wǎng)絡(luò)計算的優(yōu)越性。

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

X系統(tǒng)只負(fù)責(zé)顯示圖形,并不限制顯示和操作的風(fēng)格,因此不同的X Window的風(fēng)格并不相同,使用者可以根據(jù)自己的喜好進(jìn)行選擇。

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

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

未完,待續(xù)。。。

標(biāo)簽: Windows系統(tǒng)
主站蜘蛛池模板: 黄石市| 游戏| 邢台市| 繁峙县| 佛山市| 轮台县| 海宁市| 永川市| 南岸区| 兰考县| 仪征市| 留坝县| 永春县| 隆德县| 蛟河市| 象州县| 奉贤区| 错那县| 定西市| 临海市| 东辽县| 沂源县| 兖州市| 石渠县| 金阳县| 施秉县| 砚山县| 彭阳县| 安溪县| 香河县| 客服| 封开县| 东乡县| 逊克县| 宣威市| 峡江县| 三穗县| 大荔县| 普兰县| 酒泉市| 保靖县|