unix桌面的背後:理解Xwindow工作原理

原文地址:[url]http://biz.chinabyte.com/178/2041178_3.shtml[/url]


Xwindow 是非常巧妙的設計,很多時候它在概念上比其它窗口系統先進,以至於經過很多年它仍然是工作站上的工業標準。

.Xdefaults 文件的作用
  弄明白 X 的工作原理後,你就可以使用 .Xdefaults 來配置你的程序了。有人不理解 .Xdefaults 是用來幹什麼的,喜歡用 shell alias 出一些帶有很多參數的命令,或者寫一些 shell script,裏面只有一行帶有很多參數的程序調用,然後他說:“.Xdefaults 沒用。”
  其實 .Xdefaults 比起這些辦法有很多好處。首先,幾乎所有的 X 客戶程序都可以從 .Xdefaults 文件得到配置信息,比如前景色,背景色,字體…… 這樣你可以在同一個文件裏配置所有 X 程序的樣式,而不用寫那麼多 shell script。
  另外,如果你用 xrdb .Xdefaults 把這些配置信息寫入到根窗口的數據結構裏,不是本地機器上的 X 程序也會遵守同樣的樣式。比如如果你的 .Xdefaults 裏面有這些內容:
  XTerm.background: midnightblue
  XTerm.foreground: white
  然後你用 xrdb ~/.Xdefaults,那麼所有的 xterm 都會使用 midnightblue 作爲背景色,使用白色顯示字符。這些配置,用X術語叫資源(resource)。
  有時候你會開很多 xterm 窗口在機器上,它們來自不同的遠程機器,這時候如果它們都用同樣的樣色和字體,你就不容易分辨它們了。比如有一天,我在實驗室的PC機上打開了很多 xterm,它們來自本機,實驗室的 Sun 服務器,我宿舍的機器和數據庫實驗室一臺 HP 服務器。在我走之前,想關閉本地的機器,我輸入 “shutdown -h now” 在一個我自認是本地的 xterm 上,結果,等了一會兒,我回頭看到機器沒關掉,只是那個 xterm 停止了響應。我一拍腦袋:糟了,我把宿舍的機器給關掉了!
  爲了避免這種情況,你可以在不同的機器上編輯不同的 .Xdefaults,而不使用 xrdb 在根窗口導入這些配置。這樣不同的機器上的 xterm 使用不同的顏色,你就不容易搞錯了。
  怎樣更加深入的瞭解 Xwindow?
  哎喲!我本來想寫很多東西,後來發現要需要寫的實在太多了。我沒那麼多時間,沒辦法,給參考書目吧,你們自己去看。
  學習使用 Xwindow 不是學習使用 Gnome,KDE,…… 很多書籍教用戶怎樣使用 Gnome, KDE 的菜單,配置程序…… 結果到了最後用戶還是沒能知道 Xwindow 是怎麼回事。用那些菜單誰不會啊?真是浪費大家時間。
  學習 Xwindow,其實最好的一個辦法是看看 Xlib 編程的書籍,你可以在圖書館找到這樣的書,我推薦 O'reily 的那本 Xlib 程序設計書(我忘了名字了),雖然它很老,但是那上面講解的 Xwindow 的工作原理一直都沒有變過。
  如果你不會編程序,你可以不看編程的部分而得到很多深入的概念上的認識,比如窗口屬性,字體,顏色,…… 這些東西在你使用 Xwindow 時會有很大幫助。如果你真的要編寫 Xlib 程序,這本書就過時了一點,你最好到 [url]www.x.org[/url] 去免費下載最新的 Xlib 手冊來看。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章