歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
Linux教程網 >> Linux綜合 >> Linux資訊 >> 更多Linux >> X windows系統使用指南(三)

X windows系統使用指南(三)

日期:2017/2/27 9:47:17   编辑:更多Linux
  第5章 啟動和關閉退出X 在本章, 我們將學到: .如何在自己的機器上啟動X. .如何在視窗上做一些基本操作. .如何關閉退出X. 我們在此假設你的系統管理者已經在你的系統上裝設好了X, 事實上即使不曾用過或不熟悉X, 裝設X也不會很困難. 因此如果你有必要自己裝設X, 本書的附錄將給你一些提示. 在還未開始前, 我們需要先知道已裝設好的X, 它的執行程式在那裡,M99v 版預設的目錄為 /usr/bin/X11,但很多地方是用 /usr/local/bin 或/usr/local/bin/X11, 當你知道了之後, 把它加到你的搜尋路徑 (search path) 裡, 如果你使用 C-Shell, 可以在你的.login檔 (或者可能是.cshrc 檔) 設定路徑, 如果你使用Bourne Shell, 則在.profile檔中設定. 例如, 在.login檔中使用C-Shell 的命令列設定路徑: set path = (. /usr/local/bin/X11 /usr/UCb /usr/bin /bin) 如果你不設定路徑, X將無法正常啟動, 當你設好之後, 為了確定起見,先logout再login 一次, 檢查路徑是否設定正確 (用 echo $PATH 指令). 5.1 啟動X 在你的顯示器啟動X,鍵入命令: xinit 則會依序發生: 1. 你的整個螢幕會被設定成灰色。 2. 一個巨大的 "X" 游標出現(見圖 5 - 1 ) ┌————————————————┐ │ p48 fig 5.1 │ │ │ │ │ │ │ │圖 5 - 1 大的 "X" 游標 │ └————————————————┘ 你可以用滑鼠將它在螢幕上移動,但按滑鼠按鈕或鍵盤都對它無影響。 3. 一個xterm 終端機模擬器的視窗出現在螢幕左上角,當游標移到這個視窗時,會改變成本文游標,(見圖 5 - 2),xterm 准備接受你的命令。 ┌————————————————┐ │ │ │ p48 fig 5.2 │ │ │ │ │ │ │ │圖 5 - 2 xterm 的本文游標 │ └————————————————┘ 系統啟動的畫面見圖 5 - 3。X現在已被啟動,你可以把xterm 這個視窗當成一個普通的終端機來使用,執行一些普通的指令,不過它最大的價值在讓你可以開始執行其它的X程式,我們將於稍後告訴你,現在先來讓你了解一下X的啟始動作做了些什麽。 ┌————————————————┐ │ │ │ p49 fig 5.3 │ │ │ │ │ │ │ │圖 5 - 3 系統啟動的畫面 │ └————————————————┘ 5.1.1 xinit 的內部操作: 首先, xinit 啟動Xserver程式在你的顯示器上執行, server建立一個它自己的根視窗, 並把視窗的背景色設定成灰色, 把游標設定成一個大 "X". 在server執行的期間, server一直控制著鍵盤及滑鼠, 這就是你能在螢幕上移動游標的原因, 但是因為目前沒有任何client程式要求告知鍵盤和滑鼠 "事件",所以server只是追蹤滑鼠游標的移動, 而所有其它的鍵盤或滑鼠輸入雖然都經過server處理但均被放棄, ( 因為沒有client程式有興趣 ),這就是按鍵盤或滑鼠按鈕沒有反應的原因. 接下來, xinit 啟動xterm 程式執行, xterm 對server而言是一個client程式, xterm 要求server建立一個視窗, 而且保持告知在這個視窗中的滑鼠和鍵盤事件, xterm 設定在視窗中執行一個shell , 當指標移至視窗之內便准備接受輸入. 鍵盤輸入被送至shell 就如同在一部真的終端機上輸入一般, 從shell( 及其副程式 )的輸出藉著xterm 顯示在視窗上, xterm 也接受滑鼠輸入,使得你能設定不同的程式操作參數和進行本文的剪貼 (cut and paste ) . 你可以觀察到系統執行這些動作的步驟, 例如當在系統啟動後, 在xterm視窗內執行 ps a 命令: PID TT STAT TIME COMMAND 1900 C0 S 0:00 xinit 1901 C0 S 0:01 X:0 1902 C0 S 0:01 xterm -geometry +1+1 -n login -display unix:0 -c 1903 p1 S 0:00 -sh (csh) 1904 p1 R 0:00 ps 以上的顯示說明xinit 在主控台(console )顯示器上被啟動,它初始化server,X顯示為零。接著xterm 在一個虛擬(pseudo)的終端機上執行,xterm 啟動一個shell 執行,使得它能處理你在xterm 視窗所下的命令。最後,我們執


行ps命令產生上述的列表。 我們將在第8章討論更多的xterm 細節, 從現在起, 我們假設xterm 被視為一個DEC VT102 的終端機, 我們把重點轉移到系統啟動之後, 我們能做些什麽. 5.2 如何執行一些X程式 你目前有一個X server 控制的顯示器,一個叫xterm 的client程式,允許你輸入命令,本節告訴你如何執行其它的X程式。 因為X的client程式和X server 完全獨立,所以不需要特別的動作啟動它們,你可以像執行一般的程式一樣執行它們。但是這些client程式需要確實知道它們用的是那一個顯示器。實際上因為xterm 一開始設定了DISPLAY 環境變數,給定了它使用的顯示器名稱,而其它的client程式用此當作預設顯示器,因此你不需多做其它的事。 5.2.1 如何執行X的時鐘,xclock 我們用X的時鐘當作一個簡單的范例,先確定指標停在xterm 視窗中,然後輸入命令: xclock 一個小的時鐘影像出現在螢幕左上角,覆蓋了第一個視窗一部份,如圖 5 - 4 ┌————————————————┐ │ │ │ p51 fig 5.4 │ │ │ │ │ │圖 5 - 4 xclock 啟動後的畫面 │ └————————————————┘ 現在有三個問題要克服: 第一個問題:由於xterm 這個 "終端機" 已經有一個程式(xclock)在執行,所以我們無法再輸入其它的命令,該怎麽辦? 唯一的辦法就是停掉xclock,但當你按下ctrl-c或DEL 鍵時,xclock便會消失,要克服這種狀況,你需要非同步(asynchronously)執行xclock,用命令: xclock & 則目前xterm 至少能接受你輸入其它的命令。 第二個問題:如何中止xclock? X server 本身沒有提供直接的介面中止應用程式,但是有一個叫xkill的client程式可讓你殺掉應用程式,在xterm 視窗內輸入xkill 命令便可啟動這個程式,xkill 會顯示一個覆蓋性的方形游標(draped box cursor ),見圖5-5 ,移動這個游標到任何你想殺掉的應用程式的視窗中,碰觸左按鈕,應用程式的視窗會消失且應用程式和xkill 會一起結束,你也會得到如下的訊息: xkill:killing creator of resource 0x40004d XIO:fatal IO error 32 (Broken pipe) on X server "unix:0.0" after 207 requests (178 known processed) with 0 events remain- ing. The connection was probably broken by a server shutdown or kill- client. ┌—————————————————┐ │ │ │ p52 fig 5.5 │ │ │ │ │ │圖 5 - 5 xkill的覆蓋性的方形游標 │ └—————————————————┘ 如果為了某些緣故你無法進到應用程式的視窗內用xkill 中止它,你通常可以用UNIX的辦法:找出process 的ID,然後殺掉它,例如: $ps a grep xclock 1907 p2 I 0:00 xclock 1909 p2 S 0:00 grep xclock $kill 1907 [1] Terminated xclock $ 第三個問題:如何避免時鐘和xterm 視窗重疊? 這個問題換個問法是:你如何安排應用程式視窗的位置? 你可以用前一章說明過的 "geometry" 的參數來解決,例如輸入命令: xclock -geometry 200x300+400+500 & 這個命令告訴xclock建一個寬200 高300 個像素的視窗,位於螢幕左上角右邊400 個像素,下邊500 個像素。 以上的三個問題都解決了,下一章會介紹更巧妙的解決方法。 使用彩色 如果你擁有彩色顯示器,那麽不妨以xclock進行你指定和使用彩色的實驗,xclock有數種選項做彩色識別: -bg color 設定背景顏色 -fg color 設定前景顏色 -hd color 設定時鐘指針的顏色 -hl color 設定時鐘指針邊線的顏色 輸入指令: xclock -bg turquoise -fg red -hd magenta 你可以看到一個彩色的鐘,稍後我們會再說明顏色的正確使用名稱。 xclock啟動之後,便不再需要和使用者交談(interaction ),下一節我們將介紹另一個需要從鍵盤和滑鼠輸入的小程式。 5.2.2 xcalc - 桌上型計算器

xcalc 是一個X的計算器,移動指標到xterm 視窗,輸入命令: xcalc - geometry +700+500 & 一個像TI-30 型計算器的視窗出現了(如圖 5 - 6),你可以用滑鼠或鍵盤 來操作它。 ┌————————————————┐ │ │ │ p54 fig



xcalc - geometry +700+500 & 一個像TI-30 型計算器的視窗出現了(如圖 5 - 6),你可以用滑鼠或鍵盤 來操作它。 ┌————————————————┐ │ │ │ p54 fig



Copyright © Linux教程網 All Rights Reserved