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

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

X Window 系統(tǒng)使用指南--X的基本操作

瀏覽:5日期:2024-02-02 18:07:49

在本章, 我們將學(xué)到:

.如何在自己的機(jī)器上啟動(dòng)X.

.如何在視窗上做一些基本操作.

.如何關(guān)閉退出X.

我們?cè)诖思僭O(shè)你的系統(tǒng)管理者已經(jīng)在你的系統(tǒng)上裝設(shè)好了X, 事實(shí)上即 使不曾用過(guò)或不熟悉X, 裝設(shè)X也不會(huì)很困難. 因此如果你有必要自己裝設(shè) X, 本書(shū)的附錄將給你一些提示.

在還未開(kāi)始前, 我們需要先知道已裝設(shè)好的X, 它的執(zhí)行程式在那里, MIT 版預(yù)設(shè)的目錄為 /usr/bin/X11,但很多地方是用 /usr/local/bin 或 /usr/local/bin/X11, 當(dāng)你知道了之後, 把它加到你的搜尋路徑 (search path) 里, 如果你使用 C-Shell, 可以在你的.login檔 (或者可能是.cshrc 檔) 設(shè)定路徑, 如果你使用Bourne Shell, 則在.profile檔中設(shè)定. 例如, 在.login檔中使用C-Shell 的命令列設(shè)定路徑:

set path = (. /usr/local/bin/X11 /usr/ucb /usr/bin /bin)

如果你不設(shè)定路徑, X將無(wú)法正常啟動(dòng), 當(dāng)你設(shè)好之後, 為了確定起見(jiàn), 先logout再login 一次, 檢查路徑是否設(shè)定正確 (用 echo $PATH 指令).

5.1 啟動(dòng)X

在你的顯示器啟動(dòng)X,鍵入命令:

xinit

則會(huì)依序發(fā)生:

1. 你的整個(gè)螢?zāi)粫?huì)被設(shè)定成灰色。

2. 一個(gè)巨大的 'X' 游標(biāo)出現(xiàn)(見(jiàn)圖 5 - 1 )

┌————————————————┐ │ p48 fig 5.1 │ │ │ │ │ │ │ │圖 5 - 1 大的 'X' 游標(biāo) │ └————————————————┘

你可以用滑鼠將它在螢?zāi)簧弦苿?dòng),但按滑鼠按鈕或鍵盤(pán)都對(duì)它無(wú)影響。

3. 一個(gè)xterm 終端機(jī)模擬器的視窗出現(xiàn)在螢?zāi)蛔笊辖牵?dāng)游標(biāo)移到這個(gè) 視窗時(shí),會(huì)改變成本文游標(biāo),(見(jiàn)圖 5 - 2),xterm 準(zhǔn)備接受你的 命令。

┌————————————————┐ │ │ │ p48 fig 5.2 │ │ │ │ │ │ │ │圖 5 - 2 xterm 的本文游標(biāo) │ └————————————————┘

系統(tǒng)啟動(dòng)的畫(huà)面見(jiàn)圖 5 - 3。X現(xiàn)在已被啟動(dòng),你可以把xterm 這個(gè)視 窗當(dāng)成一個(gè)普通的終端機(jī)來(lái)使用,執(zhí)行一些普通的指令,不過(guò)它最大的價(jià)值 在讓你可以開(kāi)始執(zhí)行其它的X程式,我們將於稍後告訴你,現(xiàn)在先來(lái)讓你了 解一下X的啟始動(dòng)作做了些什麼。

┌————————————————┐ │ │ │ p49 fig 5.3 │ │ │ │ │ │ │ │圖 5 - 3 系統(tǒng)啟動(dòng)的畫(huà)面 │ └————————————————┘

5.1.1 xinit 的內(nèi)部操作:

首先, xinit 啟動(dòng)Xserver程式在你的顯示器上執(zhí)行, server建立一個(gè) 它自己的根視窗, 并把視窗的背景色設(shè)定成灰色, 把游標(biāo)設(shè)定成一個(gè)大 'X'.

在server執(zhí)行的期間, server一直控制著鍵盤(pán)及滑鼠, 這就是你能在螢 幕上移動(dòng)游標(biāo)的原因, 但是因?yàn)槟壳皼](méi)有任何clIEnt程式要求告知鍵盤(pán)和滑 鼠 '事件',所以server只是追蹤滑鼠游標(biāo)的移動(dòng), 而所有其它的鍵盤(pán)或滑鼠 輸入雖然都經(jīng)過(guò)server處理但均被放棄, ( 因?yàn)闆](méi)有client程式有興趣 ), 這就是按鍵盤(pán)或滑鼠按鈕沒(méi)有反應(yīng)的原因.

接下來(lái), xinit 啟動(dòng)xterm 程式執(zhí)行, xterm 對(duì)server而言是一個(gè)client 程式, xterm 要求server建立一個(gè)視窗, 而且保持告知在這個(gè)視窗中的滑鼠 和鍵盤(pán)事件, xterm 設(shè)定在視窗中執(zhí)行一個(gè)shell , 當(dāng)指標(biāo)移至視窗之內(nèi)便 準(zhǔn)備接受輸入.

鍵盤(pán)輸入被送至shell 就如同在一部真的終端機(jī)上輸入一般, 從shell ( 及其副程式 )的輸出藉著xterm 顯示在視窗上, xterm 也接受滑鼠輸入, 使得你能設(shè)定不同的程式操作參數(shù)和進(jìn)行本文的剪貼 (cut and paste ) .

你可以觀察到系統(tǒng)執(zhí)行這些動(dòng)作的步驟, 例如當(dāng)在系統(tǒng)啟動(dòng)後, 在xterm 視窗內(nèi)執(zhí)行 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

以上的顯示說(shuō)明xinit 在主控臺(tái)(console )顯示器上被啟動(dòng),它初始化server ,X顯示為零。接著xterm 在一個(gè)虛擬(pseudo)的終端機(jī)上執(zhí)行,xterm 啟 動(dòng)一個(gè)shell 執(zhí)行,使得它能處理你在xterm 視窗所下的命令。最後,我們執(zhí) 行ps命令產(chǎn)生上述的列表。

我們將在第8章討論更多的xterm 細(xì)節(jié), 從現(xiàn)在起, 我們假設(shè)xterm 被視 為一個(gè)DEC VT102 的終端機(jī), 我們把重點(diǎn)轉(zhuǎn)移到系統(tǒng)啟動(dòng)之後, 我們能做些什 麼.

5.2 如何執(zhí)行一些X程式

你目前有一個(gè)X server 控制的顯示器,一個(gè)叫xterm 的client程式,允 許你輸入命令,本節(jié)告訴你如何執(zhí)行其它的X程式。

因?yàn)椋氐腸lient程式和X server 完全獨(dú)立,所以不需要特別的動(dòng)作啟動(dòng) 它們,你可以像執(zhí)行一般的程式一樣執(zhí)行它們。但是這些client程式需要確實(shí) 知道它們用的是那一個(gè)顯示器。實(shí)際上因?yàn)閤term 一開(kāi)始設(shè)定了DISPLAY 環(huán)境 變數(shù),給定了它使用的顯示器名稱(chēng),而其它的client程式用此當(dāng)作預(yù)設(shè)顯示器 ,因此你不需多做其它的事。

5.2.1 如何執(zhí)行X的時(shí)鐘,xclock

我們用X的時(shí)鐘當(dāng)作一個(gè)簡(jiǎn)單的□例,先確定指標(biāo)停在xterm 視窗中,然 後輸入命令:

xclock

一個(gè)小的時(shí)鐘影像出現(xiàn)在螢?zāi)蛔笊辖牵采w了第一個(gè)視窗一部份,如圖 5 - 4

┌————————————————┐ │ │ │ p51 fig 5.4 │ │ │ │ │ │ │ │圖 5 - 4 xclock 啟動(dòng)後的畫(huà)面 │ └————————————————┘

現(xiàn)在有三個(gè)問(wèn)題要克服:

第一個(gè)問(wèn)題:由於xterm 這個(gè) '終端機(jī)' 已經(jīng)有一個(gè)程式(xclock)在執(zhí) 行,所以我們無(wú)法再輸入其它的命令,該怎麼辦?

唯一的辦法就是停掉xclock,但當(dāng)你按下ctrl-c或DEL 鍵時(shí),xclock便會(huì) 消失,要克服這種狀況,你需要非同步(asynchronously)執(zhí)行xclock,用命令:

xclock &

則目前xterm 至少能接受你輸入其它的命令。

第二個(gè)問(wèn)題:如何中止xclock?

X server 本身沒(méi)有提供直接的介面中止應(yīng)用程式,但是有一個(gè)叫xkill 的client程式可讓你殺掉應(yīng)用程式,在xterm 視窗內(nèi)輸入xkill 命令便可啟動(dòng) 這個(gè)程式,xkill 會(huì)顯示一個(gè)覆蓋性的方形游標(biāo)(draped box cursor ),見(jiàn) 圖5-5 ,移動(dòng)這個(gè)游標(biāo)到任何你想殺掉的應(yīng)用程式的視窗中,碰觸左按鈕,應(yīng) 用程式的視窗會(huì)消失且應(yīng)用程式和xkill 會(huì)一起結(jié)束,你也會(huì)得到如下的訊息:

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的覆蓋性的方形游標(biāo) │ └—————————————————┘

如果為了某些緣故你無(wú)法進(jìn)到應(yīng)用程式的視窗內(nèi)用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 $

第三個(gè)問(wèn)題:如何避免時(shí)鐘和xterm 視窗重疊?

這個(gè)問(wèn)題換個(gè)問(wèn)法是:你如何安排應(yīng)用程式視窗的位置?

你可以用前一章說(shuō)明過(guò)的 'geometry' 的參數(shù)來(lái)解決,例如輸入命令:

xclock -geometry 200x300+400+500 &

這個(gè)命令告訴xclock建一個(gè)寬200 高300 個(gè)像素的視窗,位於螢?zāi)蛔笊辖怯疫? 400 個(gè)像素,下邊500 個(gè)像素。

以上的三個(gè)問(wèn)題都解決了,下一章會(huì)介紹更巧妙的解決方法。

使用彩色

如果你擁有彩色顯示器,那麼不妨以xclock進(jìn)行你指定和使用彩色的實(shí)驗(yàn), xclock有數(shù)種選項(xiàng)做彩色識(shí)別:

-bg color 設(shè)定背景顏色

-fg color 設(shè)定前景顏色

-hd color 設(shè)定時(shí)鐘指針的顏色

-hl color 設(shè)定時(shí)鐘指針邊線(xiàn)的顏色

輸入指令:

xclock -bg turquoise -fg red -hd magenta

你可以看到一個(gè)彩色的鐘,稍後我們會(huì)再說(shuō)明顏色的正確使用名稱(chēng)。

xclock啟動(dòng)之後,便不再需要和使用者交談(interaction ),下一節(jié)我 們將介紹另一個(gè)需要從鍵盤(pán)和滑鼠輸入的小程式。

5.2.2 xcalc - 桌上型計(jì)算器

xcalc 是一個(gè)X的計(jì)算器,移動(dòng)指標(biāo)到xterm 視窗,輸入命令:

xcalc - geometry +700+500 &

一個(gè)像TI-30 型計(jì)算器的視窗出現(xiàn)了(如圖 5 - 6),你可以用滑鼠或鍵盤(pán) 來(lái)操作它。

┌————————————————┐ │ │ │ p54 fig 5.7 │ │ │ │ │ │ │ │圖 5 - 6 xcalc 桌上型計(jì)算器 │ └————————————————┘

使用滑鼠時(shí),你可以移動(dòng)指標(biāo)到你需要的計(jì)算器按鈕,按滑鼠左按鈕表示 按下按鈕。如果是用鍵盤(pán)時(shí),鍵盤(pán)上的一些鍵明顯的對(duì)應(yīng)計(jì)算器按鈕,例如依 序按鍵盤(pán)鍵1 ,+ ,2 ,+ ,3 和 =鍵,代表了算1 ,2 ,3 的總和,由於至 少目前你可以用指標(biāo)指到計(jì)算器的任一按鈕,因此鍵盤(pán)和計(jì)算器那些比較不明 顯的對(duì)應(yīng)關(guān)系,在此不作進(jìn)一步說(shuō)明。

xcalc 比 xclock 有一個(gè)優(yōu)點(diǎn),那就是容易中止它。在計(jì)算器AC按鈕上碰 觸滑鼠右按鈕即可中止,大部份的X應(yīng)用程式均有類(lèi)似的中止設(shè)備。

5.3 關(guān)閉X

要關(guān)閉X視窗,只要移動(dòng)指標(biāo)到最初xterm 的視窗,輸入:

logout

則視窗消失,server終止,X也被關(guān)閉。

詳細(xì)點(diǎn)說(shuō),xterm 查覺(jué)到shell 終止時(shí),也終止自己,而xinit 一查覺(jué)xterm 已經(jīng)結(jié)束,便殺掉server後離開(kāi)。

5.4 總結(jié)

你現(xiàn)在已能啟動(dòng)系統(tǒng)、執(zhí)行程式和關(guān)閉系統(tǒng),所以你可以自行做一些實(shí)驗(yàn) 執(zhí)行xclock一小段時(shí)間,給不同的geometry設(shè)定,極度放大或縮小時(shí)鐘,擺在 螢?zāi)坏娜魏挝恢茫ㄉ踔廖災(zāi)恢猓。?

在本章中,我們看到了如何啟動(dòng)程式,如何執(zhí)行一些視窗應(yīng)用程式,如何 結(jié)束視窗系統(tǒng)。換句話(huà)說(shuō),你已經(jīng)能使用系統(tǒng)。

但是,有許多的功能沒(méi)有提供,例如:

. 重定視窗大小

. 在螢?zāi)蝗我庖苿?dòng)視窗

. 將一個(gè)視窗從另一個(gè)視窗之下移出擺在案頭上(或者把它堆到下面)

. 用較方便的方法啟動(dòng)視窗應(yīng)用程式

這些以及其它更多的功能并非由基本的X系統(tǒng)提供,而是由下一章我們要 討論的視窗管理器提供。

標(biāo)簽: Windows系統(tǒng)
主站蜘蛛池模板: 康马县| 伊宁县| 济宁市| 溧阳市| 松桃| 太白县| 龙州县| 福建省| 利辛县| 噶尔县| 林周县| 凤台县| 全椒县| 阿瓦提县| 八宿县| 珠海市| 新民市| 太和县| 台湾省| 大悟县| 丹巴县| 措美县| 宁夏| 张家口市| 吉安市| 潢川县| 阜宁县| 化州市| 曲阜市| 斗六市| 定西市| 襄城县| 广灵县| 定日县| 且末县| 庆元县| 宣城市| 宁明县| 闵行区| 黑河市| 天等县|