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

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

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

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

設(shè)置好X服務(wù)器之后,就可以使用startx啟動(dòng)圖形界面,以使用其他圖形界面的經(jīng)驗(yàn)來使用X Window,但使用者常常會(huì)發(fā)現(xiàn)這個(gè)界面相當(dāng)簡單和粗糙。這是因?yàn)閄 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的使用者會(huì)認(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ī)上。

如果進(jìn)一步理解客戶/服務(wù)器的概念,就會(huì)了解客戶/服務(wù)器的概念指的是具體運(yùn)行的進(jìn)程,而非計(jì)算機(jī)或使用者。不是與使用者聯(lián)系最密切的計(jì)算機(jī)就是客戶,而是首先要明確服務(wù)資源,然后再以資源提供者和資源占用者來進(jìn)行區(qū)分。在一般的客戶/服務(wù)器方式的應(yīng)用中,一般是客戶程序直接與使用者交互,因此就容易造成錯(cuò)誤的概念,以使用者為中心來區(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)是一個(gè)管理顯示的進(jìn)程,必須運(yùn)行在一個(gè)有圖形顯示能力的計(jì)算機(jī)上。理論上,一臺(tái)計(jì)算機(jī)上可以同時(shí)運(yùn)行多個(gè)X服務(wù)器,每個(gè)X服務(wù)器能管理多個(gè)與之相連的顯示設(shè)備。

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

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

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

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

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

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

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

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

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

由于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套件等。每種套件都提供了菜單、按鈕、對(duì)話框等圖形界面的標(biāo)準(zhǔn)構(gòu)件,還提供基本的窗口管理器。使用不同套件開發(fā)的程序,其顯示風(fēng)格也不相同,因此就在不同程序之間形成了不同的GUI風(fēng)格。Motif和Openlook就是兩種不同的圖形界面風(fēng)格,當(dāng)前Motif成為了商業(yè)X Window的一個(gè)標(biāo)準(zhǔn),很多商業(yè)軟件均基于Motif進(jìn)行開發(fā),而Openlook則沒有獲得更普遍的支持。

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

標(biāo)簽: Windows系統(tǒng)
主站蜘蛛池模板: 仙游县| 呼图壁县| 东方市| 毕节市| 建宁县| 从江县| 轮台县| 湟源县| 大关县| 北辰区| 修文县| 泰宁县| 永平县| 廊坊市| 屏山县| 兴宁市| 多伦县| 汉寿县| 泸水县| 太原市| 托克逊县| 红安县| 广西| 巴塘县| 余干县| 旺苍县| 宁都县| 大石桥市| 报价| 陕西省| 米易县| 武川县| 吉安市| 兴隆县| 将乐县| 鱼台县| 文水县| 敖汉旗| 太白县| 临洮县| 舟曲县|