在 Unix Like 的系統當中,可以利用滑鼠與鍵盤來進行圖形化介面的操作,那就是
Graphical User Interface (簡稱 GUI)介面啦!而我們將這個圖形介面稱為 X Window System。
為什麼稱為 X 呢?因為就英文字母來看, X 是在 W(indow) 後面,因此,
早期人們就戲稱這一版的視窗介面為 X 囉!
事實上, X Window System 不是很容易理解,尤其是我們還沒有接觸到網路主機伺服器方面的介紹。
不過,無論如何,要對 X 有一些概念的話,還是得要介紹一下他的運作原理才行啊~傷腦筋~
底下鳥哥將就 X Window 的相關知識作個簡單的介紹啊!
在開始之前,還是得就這個話題來說明說明。一般來說,如果您的 Linux 主機定位為
Network Servers 的話,那麼由於 Linux 裡面的主要的服務的設定檔都是 ASCII
純文字的格式檔案,相當的容易設定的,所以啊,根本就是不需要 X Window 存在呢!
因為 X Window 僅是 Linux 系統內的一個軟體而已啊!
但是萬一您的 Linux 主機是用來作為您的 Desktop 桌上電腦用的,
嘿嘿!那麼 X Window 對您而言,就是相當重要的一個咚咚了!因為我們日常使用的辦公室軟體,
都需要使用到 X Window 圖形的功能呢!此外,以鳥哥的例子來說,
我之前接觸到的數值分析模式,需要利用圖形處理軟體來將資料讀取出來,
所以在那部 Linux 主機上面,我一定需要 X Window 的。此外,由於處理的軟體有兩種,
其中一種需要使用到 3D 的加速功能。但 Linux 預設的顯示卡驅動程式對 3D 的加速功能有限,
此時,俺就得要重新安裝顯示卡驅動程式呢!傷腦筋~
回歸到主題上面,除了主機的用途決定您是否需要啟用 X Window 之外,
主機的『配備』也是您必須要考慮的一項決定性因素。
因為 X Window 如果要美觀,可能需要功能較為強大的 KDE 或 GNOME 等視窗管理員(Window
Manager)的協助,但是這兩個龐然大物對於系統的要求又很高,
除了 CPU 等級要夠,RAM 要足之外,顯示卡的等級也不能太差~
所以,早期的主機可能對於 X Window 就沒有辦法具有很好的效率了。
也就是說,您如果想要玩 X Window 的話,特別需要考慮到這兩點:
- 穩定性:
X Window 僅是 Linux 上面的一個套件 (或者也可以稱為服務),
您不能對 X Window 與 Linux 的整合有太高的期望的,雖然目前的 X window
已經整合得相當好了。此外,任何程式的設計都或多或少會有些臭蟲,
X 當然也不例外。因此,在您的 Linux server 上面啟用 X 系統的話,
自然多一個服務的啟用,就會產生一些不確定性。因此,不是很建議對 Internet
開放的伺服器啟動 X Window 的啦!
Tips: 鳥哥剛開始接觸 Linux (大約是在 1999 年左右)時,
由於不熟,通常都是預設給他啟用 X Window 在我的主機上面的。
不過,那個時候的圖形介面與 Linux kernel 的整合度比較差,
老是掛點去,是常常造成我其他 Internet 上面的服務無法順暢的原因之一呢!
| |
- 效能:
無論怎麼說,程式在跑總是需要系統資源的,所以,多啟用了 X 就會造成一些系統資源的損耗。
此外,上面也稍稍提到,某些 X 的軟體是相當耗費系統資源的呢!
所以,多起動 X 就可能造成您的系統效能的低落哩!
X Window 最早是由 MIT (Massachusetts Institute of Technology) 在 1984 年發展出來的,
他們稱這個咚咚為 X 。在經過數年的發展後,到了 1987 年推出 X11 這個優秀的版本,
幾經改良後,再推出了 X11R6 (X11 版本的第 6 次 release 的意思)這個版本。
目前我們看到的各大 Linux distributions 均是使用 X11R6 這個 X 版本哩!
(
所以您才會常常看到您的 Linux 主機裡面,
怎麼會有這麼多的 X11 與 X11R6 的目錄啊!呵呵!)
X11 發展了一段時間後,由社群發起的一個稱為 XFree86 的計畫 (
)
持續在維護 X11R6 的功能性,包括對新硬體的支援以及更多新增的功能等等。
當初定名為 XFree86 其實是根據 『
X + Free software + x86
硬體 』而來的呢。早期 Linux 所使用的 X Window 的主要核心都是由 XFree86
這個計畫所提供的,因此,我們常常將 X server 與 XFree86 掛上等號的說~
而 XFree86 針對 X11R6 也有持續在改良,也推出了 version 3 與 version 4 兩個版本,
目前我們看到的新的 distribution 幾乎都是使用 version 4 版本,
不過在 2001 年以前的版本,則通常還是使用 XFree86 version 3 的版本呢!
除了 XFree86 這個計畫之外,在 2004 年成立了另一個維護 X 系統架構的計畫,那就是
Xorg ( )
這個計畫啦!Xorg 是由多個組織所共同發起的,主要的目的是希望可以持續維護 X11R6
,使可以讓 X Window System 更有效率的應用在工程上面。同時, Xorg 也是自由軟體喔! ^_^
Tips: 基本上,目前我們稱為 X Window system 的,應該是 X11R6 這個版本的 X 系統。
而針對這個系統來發展的除了 XFree86 計畫之外,在 2004 年產生的 Xorg
這個計畫也對 X11R6 來進行維護與發展。
會產生兩個計畫來維護 X11R6 的可能原因應該是目的的不同, Xorg
官方網站上面明白的宣示,該計畫主要是希望可以讓工程應用更加的有效率~
而我們的 Fedora Core IV 使用的是 Xorg 計畫所維護的 X11R6 版本喔!^_^
此外, XFree86 與 Xorg 針對他們自己發展的 X11R6 都有版本的區分,
版本的編號是不一樣的。舉例來說, XFree86 分為 3.xx 與 4.xx 版本,
而 Xorg 則為 6.8.xx 等等。
| |
X Window System 為什麼這麼優秀呢?因為他有相當優良的 X Server/X Client 設計系統。
什麼是 X Server 與 X Client 呢?X 在設計的時候,
就希望可以達到多人連線進入主機利用圖形界面的功能,於是他便發展出這樣的一個主從架構。
這個主從架構可以讓使用者在任何一部電腦以網路的方式連線到主機來操作圖形界面的功能,
是一個相當棒的設計呢~不過 X Server 與 X Client 的意義則與網路上的 Server/Client
意義不同喔~底下我們就來談一談 X Server/X Client 的功能。
X Server:主要負責的是螢幕畫面的繪製與顯示。
X Server 的主要功能 ( 不論是 Xorg 或是 XFree86 都是一個 X server 喔!)
就是在管理 X Server 所在主機上面關於顯示的硬體配備啦~
例如顯示卡、螢幕解析度、鍵盤形式、滑鼠形式等等。如果以 Linux 上安裝 X server 為例,
您會發現~咦!顯示卡、螢幕以及鍵盤滑鼠的設定,不是在開機的時候,
Linux 系統以 /etc/sysconfig 目錄下的 keyboard/mouse 等設定檔就設好了嗎?
呵呵~這是因為 X Window 在 Linux 裡面僅能算是『一套很棒的軟體』,
所以 X Window 有自己的設定檔,您必須要針對他的設定檔設定妥當才行。
也就是說, Linux 的設定與 X Server 的設定不一定要相同的!
因此,你在 Linux 的 run level 3 想要玩圖形介面時,就得要載入 X Window
需要的驅動程式才行~總之, X Server 的主要功能就是在管理『主機』上面的顯示硬體與驅動程式。
您會發現鳥哥一直強調一件事情,那就是『 X Server 所在的主機』,這是怎麼回事啊?!
剛剛我們不是提到 X Window System 最早是希望可以達到多人連線的目的嗎?!
就是很多人都可以使用 X 來連線進入主機的意思,但是每部連線進入
Linux 主機的用戶端電腦的硬體並不一樣啊~這個時候當然就無法使用 Linux
上面的硬體來顯示資料囉~您說對吧?!否則您在用戶端利用 1MB 顯示卡記憶體的系統,
可能顯示出 Linux 主機的 1024x768x24bit 色彩與解析度嗎?!當然不行~對吧!?
也就是說:『每部想要顯示 X 的主機都需要有 X Server』啦~
所以,您的 Window PC 當然也需要 X Server 來管理顯示介面,這樣才能夠與 Linux
主機進行圖形介面的溝通啊!更多的關於用戶端連線到 Linux 主機端的方法,請參考
的介紹囉~
X Server 還有一個重要的工作,那就是將來自輸入裝置(如鍵盤、滑鼠等)的動作告知 X Client,
您曉得, X Server 既然是管理這些周邊硬體,所以,周邊硬體的動作當然是由 X Server 來管理的,
但是 X Server 本身並不知道周邊設備這些動作會造成什麼顯示上的效果,
因此 X Server 會將周邊設備的這些動作行為告知 X Client ,讓 X Client 去傷腦筋~
X Client:主要負責的是『事件』的處理。
前面提到的 X Server 主要是管理顯示介面與在螢幕上繪圖,同時將輸入裝置的行為告知 X Client,
此時 X Client 就會依據這個輸入裝置的行為來開始處理,最後 X Client 會得到『
嗯!這個輸入裝置的行為會產生某個圖示』,然後將這個圖示的顯示資料回傳給 X Server ,
X server 再根據 X Client 傳來的繪圖資料將他描圖在自己的螢幕上,來得到顯示的結果。
也就是說, X Client 最重要的工作就是處理來自 X Server 的動作,將該動作處理成為繪圖資料,
再將這些繪圖資料傳回給 X Server 囉~
舉個例子來說,當我們在 X Window 的畫面中,將滑鼠向右移動,那他是怎麼告知 X Server 與 X Client 的呢?
首先, X server 會偵測到滑鼠的移動,但是他不知道應該怎麼繪圖啊!此時,他將滑鼠的這個動作告知 X Client,
X Client 就會去運算,結果得到,嘿嘿!其實要將滑鼠指標向右移動幾個位素,然後將這個結果告知 X server ,
接下來,您就會看到 X Server 將滑鼠指標向右移動囉~
這樣做有什麼好處啊?!最大的好處是, X Client 不需要知道 X Server 的硬體配備與作業系統!
因為 X Client 單純就是在處理繪圖的資料而已,本身是不繪圖的。所以,在用戶端的 X Server 用的是什麼硬體?
用的是哪套作業系統?主機端的 X Client 根本不需要知道~相當的先進與優秀~對吧! ^_^
整個運作流程可以參考下圖:用戶端用的是什麼作業系統在 Linux 主機端是不在乎的!
圖一、X Window 與 X Client 的溝通示意圖
剛剛好~在 Linux 上的 X Window System 中,X Server 與 X Client 在同一部 Linux 上面~
真是剛好啊~呵呵~好了,接下來再來討論一下,那麼那個 Window Manager 又是啥咚咚?
Window Manager 可以說是一個相當特殊的 X client ,他可以提供更多的功能~
包括有:
- 提供許多的控制元素,包括工作列、背景桌面的設定等等;
- 管理虛擬桌面 (virtual desktop);以及
- 提供視窗控制參數,這包括視窗的大小、視窗的重疊顯示、視窗的移動、視窗的最小化等等。
剛剛前面提到,X Client 的主要工作是將來自 X Server 的資料處理成為繪圖數據,再回傳給 X server ,
所以, X client 本身是不知道他在 X Server 當中的位置、大小以及其他相關資訊的。
這些視窗位置大小與重疊顯示的功能,還有每個視窗上頭的標題等等,其實就是由 Window manager
所提供的囉~
FC4 利用 Xorg 這個計畫提供 X server 的核心,同時 Xorg 也提供了一個簡單的 Window manager ,
那就是 twm 囉。不過, twm 的功能雖然已經具備了 window manager 最陽春的能力,不過,就是太陽春~
所以後來預設的 window manager 大致上都以 KDE 或者是 GNOME 這兩個計畫提供的 window manager
為主囉~這兩個計畫的目的都是要讓使用者可以在 Linux 底下使用完整的桌面電腦能力,
因此這兩個計畫在 Window manager 底下增加了很多的 X Client 軟體,而且也加入了很多辦公應用軟體,
來讓大眾接受 Linux 這個好東西啊!
那麼您知道 X Server / X client / window manager 的關係了嗎?!我們舉 KDE 為例好了,
由於我們要在本機端啟動 X Window system ,因此,在我們的 FC4 主機上面必須要有 Xorg 的 X server 核心,
這樣才能夠提供螢幕的繪製啊~然後為了讓視窗管理更方便,於是就加裝了 KDE 這個計畫的 window manager ,
然後為了讓自己的使用更方便,於是就在 KDE 上面加上更多的應用軟體,包括輸入法等等的,
最後就建構出我們的 X Window System 囉~ ^_^
接下來,我們來談一談,那麼您的 Linux 上頭的 X Window System 整個啟動流程是如何呢?
假設您是以 run level 3 登入的好了,那麼您要如何進入 X Window System 呢?
很簡單啊!輸入 startx 就可以啦~那您知道 startx 執行後,您的 Window manager 是 KDE 還是 GNOME ?
還是其他的 window manager 嗎?!還有,您的版面風格配置又是如何呢?這些資料放在哪裡啊?!
底下我們就來談一談囉~
開始的一個偵測介面, startx :
我們知道了 X Window system 其實就是 X Server + X client 嘛!然後,
為了讓視窗管理更方便,於是在 X Client 載入 window manager 就是了。
不過,為了要載入這些資料,就必須要讀取設定檔對吧!我們知道 Linux
底下每個人都可以設定好屬於自己的環境, X Window 也一樣,您可以有自己專屬的 X 畫面。
但是,如果您是首次登入 X 呢?也就是說,您自己還沒有建立自己的專屬 X 畫面時,
系統又是從哪裡給你這個 X 預設畫面呢?
事實上,當您輸入 startx 時,這個 startx 的作用就是在幫您設定好上頭提到的這些動作囉!
startx 其實只是一個 shell script ,他是一個比較親和的程式,會主動的幫忙使用者建立起他們的 X
所需要引用的設定檔而已。您可以自行研究一下 startx 這個 script 的內容,
鳥哥在這裡僅就 startx 的作用作個介紹。
startx 在執行的時候,他會主動的去尋找使用者家目錄底下的 .xinitrc 及 .xserverrc 這兩個檔案,
這兩個檔案分別是:
- ~/.xinitrc 是 X Client 的設定資料檔;
- ~/.xserverrc 則是 X Server 的設定資料檔。
但是您不見得會有這兩個檔案,如果沒有的話,那麼 startx 就會主動的以系統預設的設定檔來啟用,
這兩個設定檔分別在 /etc/X11/xinit/xinitrc 與 /etc/X11/xinit/xserverrc。不論是您自己的
~/.xinitrc 或者是系統的 xinitrc ,反正最後就是會有一個 X Client 與一個 X Server
的設定檔會被取用,而您家目錄下的 .xinitrc 與 .xserverrc 是具有優先權就是了。
在取得這兩個東西之後,接下來就是以 xinit 這個程式來執行 X Client 與 X server
的啟動了!
除此之外, startx 後面還可以接參數喔!這些參數可以取代 .xinitrc 與 .xserverrc 的設定。
舉例來說,您想要讓您的 X 色彩深度是 16 bit (色彩深度就是所使用的色彩啦!),那麼就可以:
[root@linux ~]# startx [X client option] -- [X server option] [root@linux ~]# startx -- -depth 16
|
startx 後面接的參數以兩個減號『--』隔開,前面的是 X Client 的設定,後面的是 X Server 的設定。
因為色彩深度是與 X Server 有關的,所以參數當然是寫在 -- 後面囉,於是就成了上面的模樣!
由於 startx 後面加的參數可以取代預設值,因此您就可以使用 16 位元色彩度進入 X 囉。
開始啟動 X 的 xinit :
事實上,實際在啟動 X 的,就是 xinit 這支程式啦~他的語法是:
[root@linux ~]# xinit [client option] -- [server or display option]
|
那個 client option 與 server option 如何下達呢?其實那兩個咚咚就是由剛剛 startx 去找出來的啦!
在我們透過 startx 找到適當的 xinitrc 與 xserverrc 後,就交給 xinit 來執行。
在預設的情況下 (使用者尚未有 ~/.xinitrc 等檔案時),您輸入 startx ,
就等於進行
xinit /etc/X11/xinit/xinitrc --
/etc/X11/xinit/xserverrc 這個指令一般!這樣瞭了嗎?
所以呢,重點當然就是 /etc/X11/xinit/ 目錄下的 xinitrc 與 xserverrc 這兩個檔案的內容是啥囉~
底下我們就分別來談一談這兩個檔案的主要內容與啟動的方式~
啟動 X Client 的檔案: xinitrc :
假設您的家目錄並沒有 ~/.xinitrc ,則此時 X Client 會以 /etc/X11/xinit/xinitrc
來作為啟動 X Client 的預設 script 。xinitrc 這個檔案會將很多其他的檔案參數引進來,
包括 /etc/X11/xinit/xinitrc-common 與 /etc/X11/xinit/Xclients 還有
/etc/sysconfig/desktop 。您可以參考 xinitrc 後去搜尋各個檔案來瞭解彼此的關係。
重點是, xinitrc 會依據上述這些檔案的判斷 (要注意,每種 distributions 他們的
設定檔案放置的地點都不太一樣~) ,來搜尋出要啟動的 window manager 是哪一個?
舉例來說,在 FC4 底下, xinitrc 這個檔案會經由分析出 /etc/sysconfig/desktop 的設定,
來開始執行 startkde 或者是 gnome-session 這兩個 window manager 其中之一。
意思是說,如果您在 /etc/sysconfig/desktop 設定是 KDE 的話,那麼預設就會以
KDE 來啟動您的 X Window 囉。
等一下我們會以 KDE 的流程來介紹整個 X Client 如何啟動的過程,這裡目前僅指出到這裡。
而在 X Client 執行完畢後,接下來,當然就是 X Server 的進程了!
Tips: 不論怎麼說,鳥哥還是希望大家可以透過解析 startx 這個 script 的內容去找到每個檔案,
再根據分析每個檔案來找到您 distributions 上面的 X 相關檔案~
畢竟每個版本的 Linux 還是有所差異的~
| |
在上面的步驟中,我們會看到 xinitrc 引入了 /etc/sysconfig/desktop 的設定,
已取得系統預設的 window manager 之後,接下來則是正確的分析該 window manager 是否存在,
若存在則嘗試啟動,若不存在則以其他存在的 window manager 來嘗試啟動。
因此,即使您 /etc/sysconfig/desktop 設定錯誤,系統還是會以預設的可能存在的 window manager
來嘗試啟動的。
如果是以 KDE 來啟動的話,系統就會主動去搜尋 startkde 這個執行檔。其實 startkde 也只是一個 script,
他包含了很多 KDE 需要的設定資料,詳細的 KDE 相關請參考 KDE 的官方網站囉~
啟動 X Server 的檔案: xserverrc :
如果您去查閱 /etc/X11/xinit/ 目錄的話,會發現,根本就沒有 xserverrc 這個檔案啊!
那我家目錄也沒有 .xserverrc ,這個時候系統會怎麼做呢?其實單純只是執行 xinit 的時候,
系統的預設 X Client 與 X Server 的內容是這樣的:
xinit xterm -geometry +1+1 -n login -display :0 -- X :0
|
那個 xterm 是 X 視窗底下的虛擬終端機,後面會接一個『 -display :0 』
表示這個虛擬終端機是啟動在第 :0 號顯示介面的意思。而我們啟動的 X server 程式就是 X 啦!
其實 X 就是 Xorg 或 XFree86 的連結檔,亦即是 X Server 的主程式囉!
所以我們啟動 X 還挺簡單的~直接執行 X 而已。如果單純以上面的內容來啟動您的 X window 時,
您就會發現 tty7 有畫面了!只是.....很醜~因為我們還沒有啟動 window manager 啊!
在啟動 X Server 時,會去讀取 X Server 的設定檔,在 Xorg 使用的是 /etc/X11/xorg.conf 這個,
至於 XFree86 則是使用 /etc/X11/XF86Config (注意大小寫) 這個設定檔。針對這個設定檔的內容,
我們會在下個小節介紹。反正 X Server 讀取設定檔如果一切 OK 就會在 tty7 順利啟動囉~
而剛剛執行的 X Client 就會將繪圖資料傳送給 X Server 呢!最終您就能看到漂亮的 X 囉~
不過要注意的是,如果您的 xinitrc 設定檔裡面有啟動的 x client 很多的時候,千萬注意將除了最後一個
window manager 或 X Client 之外,都放到背景裡面去執行啊!舉例來說,像底下這樣:
xclock -geometry 100x100-5+5 & xterm -geometry 80x50-50+150 & exec /usr/X11R6/bin/twm
|
意思就是說,我啟動了 X ,並且同時啟動 xclock / xterm / twm 這三個 X clients 喔!
如此一來,您登入 X 就有這三個咚咚可以使用了!如果忘記加上 & 的符號,那就.....
會讓系統等待啊,而無法一次就登入 X 呢!
最後我們知道,透過 startx 可以取得 X Client 與 X Server 的相關設定資料,亦即 xinitrc 與 xserverrc 這兩個檔案。
這兩個檔案可以讓 xinit 這支程式來啟動我們的 X Window ,而透過 xinitrc 可以設定需要啟動的 window manager
是哪一個,至於透過 xserverrc 則能瞭解 X Server 使用的是那個主程式。通通啟用後,就可以得到我們的 X 囉。
更多的 xinit 用法可以參考 man xinit ,而 X 的用法則 man X 囉~
另外,其實 X Server 是會啟動至少一個 port 來監聽 X client 的要求的,那就是預設的 port 6000 囉。
不過,我們的 X 其實是很有彈性的,可以擁有多個 port 來監聽不同 X Client 的需求,
這也是未來我們談到伺服器架設時 VNC (Virtual Network Computing) 伺服器的特色。
但是在 X Window System 的環境下,我們稱 port 6000 為第 0 個顯示介面,亦即為 hostname:0 ,
那個 hostname 通常可以不寫,所以就成了 :0 即可。
那麼啟動的 X 畫面是放在哪一個終端機 (tty) 呢?在預設的情況下,第一個啟動的 X
(不論是啟動在第幾個 port number) 是在 tty7 ,亦即按下 [ctrl]+[Alt]+[F7] 那個畫面。
而起動的第二個 X (注意到了吧!可以有多個 X 同時啟動在您的系統上呢) 則預設在 tty8 亦即
[ctrl]+[Alt]+[F8] 那個畫面呢!很神奇吧! ^_^
因為主機上的 X 有多個,因此,當我們在啟動 X Server / Client 時,
應該都要註明該 X Server / Client 主要是提供或接受來自哪個 display 的 port number 才行。
如果您的 X 啟動在 :1 時,那就是 port 6001 啦!
好了,我們可以來針對 X Server 與 X client 的架構來做個簡單的測試喔!
底下這些動作您必須先以 run level 3 登入,並且確定主機上面已經安裝了 X Window System ,
並且您必須要在主機前面,不可以 ssh 之類的連線程式進入做底下的動作啊!
另外,如果是 FC4 的使用者,記得將 xfs 服務啟動喔!
1. 先來啟動第一個 X 在 :0 畫面中: [root@linux ~]# X :0 & # X 是大寫,那個 :0 是寫在一起的,至於 & 則是放到背景去執行。 # 此時可以使用 netstat -tulnp 查看看有沒有那個 port 6000 出現啊! # 另外,此時系統會主動的跳到第一個圖形介面終端機,亦即 tty7 上喔! # 所以如果一切順利的話,您應該可以看到一個 X 的滑鼠游標可以讓您移動了。 # 該畫面就是 X Server 啟動的畫面囉!醜醜的,而且沒有什麼 client 可以用啊! # 接下來,請按下 [ctrl]+[alt]+[F1] 回到剛剛下達指令的終端機:
2. 輸入數個可以在 X 當中執行的虛擬終端機 [root@linux ~]# xterm -display :0 & # 那個 xterm 是必須要在 X 底下才能夠執行的終端機介面。 # 加入的參數 -display 則是指出這個 xterm 要在那個 display 使用的。 # 此時請按下 [ctrl]+[alt]+[F7] 去到 X 畫面中,您會發現多了一個終端機囉~ # 不過,可惜的是,您無法看到終端機的標題、也無法移動終端機, # 當然也無法調整終端機的大小啊!我們回到剛剛的 tty1 然後: [root@linux ~]# xterm -display :0 & # 又多一個終端機,去到 tty7 查閱一下。唉~沒有多出一個終端機啊? # 這是因為兩個終端機重疊了~我們又無法移動終端機,所以只看到一個。
3. 輸入可以管理的 window manager [root@linux ~]# twm -display :0 & # 回到 tty1 後,用最簡單的 twm 這個視窗管理員來管理我們的 X 吧! # 輸入之後,去到 tty7 看看,用滑鼠移動一下終端機看看?可以移動了吧? # 也可以縮小放大視窗囉~同時也出現了標題提示囉~也看到兩個終端機啦! # 現在終於知道視窗管理員的重要性了吧? ^_^
4. 增加另一個 X 在系統中 [root@linux ~]# X :1 & # 如果您又重複執行一次 X 的話,那麼這次的 X 圖示就會出現在 tty8 底下, # 那再輸入一次呢?亦即 X :2 & 呢?很簡單啊! tty9 也有 X 出現囉~厲害吧!
5. 將所有剛剛建立的 X 相關工作全部殺掉! [root@linux ~]# kill %6 [root@linux ~]# kill %5 [root@linux ~]# kill %4 [root@linux ~]# kill %3 [root@linux ~]# kill %2 [root@linux ~]# kill %1
|
很有趣的一個小實驗吧~透過這個實驗,您應該會對 X 使用的 port ,
與 Window manager 及 tty7 以後的終端介面使用方式有比較清楚的瞭解~加油!