歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
Linux教程網 >> Unix知識 >> 關於Unix >> FreeBSD下驗證X服務器與X客戶程序之間的關系

FreeBSD下驗證X服務器與X客戶程序之間的關系

日期:2017/2/28 11:19:44   编辑:關於Unix


 一、X服務器與X客戶程序之間的關系
X Window System的組成可以分為X server,X client,X protocol三部分。
X server主要控制輸入輸出,維護字體,顏色等相關資源。它接受輸入設備的輸入信息並傳遞給X client,X client將這些信息處理後所返回的信息,也由X server負責輸出到輸出設備(即我們所見的顯示器)上。
X server傳遞給X client的信息稱為Event,主要是鍵盤鼠標輸入和窗口狀態的信息。X client傳遞給X server的信息則稱為Request,主要是要求X server建立窗口,更改窗口大小位置或在窗口上繪圖輸出文字等。
X client主要是完成應用程序計算處理的部分,並不 直接 接受用戶的輸入信息,輸入信息都是輸入給X server,然後由X server以Event的形式傳遞給X client,X client對收到的Event進行相應的處理後,如果需要輸出到屏幕上或更改畫面的外觀等,則發出Request給X server,由X server負責顯示。
在X Window System中,X client是與硬件無關的,它並不關心你使用的是什麼顯卡什麼顯示器什麼鍵盤鼠標,它也不關心顯示的文本是什麼字體,這些只與X server相關。
 二、驗證X服務器與客戶機之間的關系(初步)
一般安裝FreeBSD系統,客戶程序和X服務器都是安裝在一台計算機上的,因此在客戶程序中輸入、運行、輸出不能明顯的區分出哪些任務是由客戶程序完成,哪些任務由X服務器來完成。所以會造成一定的混淆。
為了明確兩者之間的關系,利用Freebsd的多個控制台作以下演示:
必要條件:安裝的X服務器要配置好,可以工作。

演示的步驟是:
1、把當前登錄環境作為客戶端,用來啟動X服務器和運行客戶程序
2、在客戶端啟動兩個X服務器,:0和:1
3、客戶端運行xeye程序到:0
4、客戶端運行xterm程序到:1
 三、驗證
1、啟動X服務器:
# X :0 &
運行這個命令如果X服務器配置正確的話,會啟動一個灰色屏幕和鼠標,你所看到的就是X服務器的第一個顯示器。按ctrl+alt+shift+F1回到當前登錄的命令行環境,alt+F9可以切換會X服務器的顯示。
# X :1 &
另外啟動一個X服務器,屏幕編號是1,也就是第二個顯示器。可以用alt+F10進行切換。
2、在客戶端輸入以下命令:
xeyes -display :0 &
這個命令的作用是“在客戶端運行xeyes這個程序,顯示到X服務器的第0號顯示器,這個程序運行後,在當前客戶端並不顯示那雙眼睛,只是返回一個pid,按alt+f9,可以看到一雙眼睛。
這基本演示了X服務器的作用,就是接受客戶程序的輸出並顯示到屏幕上。
3、進一步驗證:
在客戶端命令行上輸入 xterm -display :1 &
作用是在客戶端啟動一個虛擬終端,顯示到X服務器上的第1號顯示器。這個程序運行以後,依然在客戶端返回一個pid,按alt+f10,切換到X服務器的第1號顯示,可以看到xterm的運行窗口。可以在這個窗口中輸入任何命令,包括運行客戶程序kde,gnome等。通過觀察可以看出X服務器負責輸入和輸出。
以上初步驗證了X客戶程序和X服務器之間的關系,X服務器和X客戶程序也可以分別放在不同的計算機上,這提供了更大的靈活性。可以根據任務需要,合理配置計算機資源。例如:可以把進行大規模計算的程序放到性能好的計算機上,把X服務器放到配置不高的計算機上。
Copyright © Linux教程網 All Rights Reserved