選擇X Server
許多人都以為在 Linux (或 Unix) 裡﹐都要使用文字模式。“沒有友善圖形界面”居然成為某些人拒絕 Linux 的藉口。其實﹐在 Unix 世界裡面﹐早就有圖形界面了﹐最出名的莫過於 XFree86 了﹐人們一般稱之為 X Window。 若論起歷史﹐X Window 比微軟的 Windows 系統還早呢﹗而且﹐在 X Window 裡面﹐可供選擇的界面多得很呢﹐這個概念可不同微軟視窗中換換桌面、顏色或字型那麼簡單哦。
首先﹐XFree86 下面有好幾種 X Server﹐它們分別是配備不同的硬體的。當您將 RedHat 6.0 的CD放進機器並mount好之後﹐然後輸入﹕
ls /mnt/cdrom/RedHat/RPMS/XFree86*
|
您會看到輸出結果會包括下面的這些 rpm﹕
XFree86-8514-3.3.3.1-53CLE.i386.rpm
XFree86-AGX-3.3.3.1-53CLE.i386.rpm
XFree86-FBDev-3.3.3.1-53CLE.i386.rpm
XFree86-I128-3.3.3.1-53CLE.i386.rpm
XFree86-ISO8859-2-1.0-8.noarch.rpm
XFree86-ISO8859-9-2.1.2-9.noarch.rpm
XFree86-Mach32-3.3.3.1-53CLE.i386.rpm
XFree86-Mach64-3.3.3.1-53CLE.i386.rpm
XFree86-Mach8-3.3.3.1-53CLE.i386.rpm
XFree86-Mono-3.3.3.1-53CLE.i386.rpm
XFree86-P9000-3.3.3.1-53CLE.i386.rpm
XFree86-S3-3.3.3.1-53CLE.i386.rpm
XFree86-S3V-3.3.3.1-53CLE.i386.rpm
XFree86-SVGA-3.3.3.1-53CLE.i386.rpm
XFree86-VGA16-3.3.3.1-53CLE.i386.rpm
XFree86-W32-3.3.3.1-53CLE.i386.rpm
|
利用這些 rpm 我們就可以安裝不同的 X Server 在機器上(可以同時安裝多個)﹐以適應不同的硬體環境了。一般來說﹐使用 XFree86-SVGA都基本能適用於我們的要求了﹐除非您知道您使用的顯示卡可以被其他的 X Server 所支援。不過﹐對於一些最新的 AGP 顯示卡﹐都比較難安裝﹐雖然使用 XFree86-VGA16 勉強可以看得到圖形﹐但出來的顏色和解析度都醜醜的﹐更別論要完全發揮 3D 功能了。然而﹐在許多討論板和 Linux 資源中心﹐都可以找到安裝某些型號的 AGP 顯示卡的文章。不過﹐由於我沒有安裝 3D 卡的經驗﹐所以在這裡也就略過了。如果您有興趣﹐也可以看看 Linux HOWTO 裡面的﹕3Dfx-HOWTO或許會有所發現的。如果您的卡是 SiS 6326AGP 的話﹐可以參考﹕http://rampages.onramp.net/~slywolf/xf86main.html這篇文章。
雖然一些比較新的顯示卡都暫時沒被內定支援﹐但或許遲下推出新的 XFree86 版本會支援呢。如果真如此﹐您只要到網路上面下載最新的 rpm (如果有的話)回來安裝就是了﹐您根本不需要重新安裝 Linux 系統的。
設定X Window
或許您會很順利的就將 X Server 安裝好﹐但要設定好一個 X Window 通常卻要費盡九牛二虎之力﹐有時候耗費整個星期的時間也設定不好﹐一點不出奇。事實上﹐由於不同的硬體搭配﹐需要的設定都很不相同﹐也很難找到一個放之四海皆宜的安裝法門﹐總離不開不停的反復嘗試。
下面﹐我打算用我的 Linux 機器做例子﹐和大家一起經歷一下安裝 X Window 的過程。這裡﹐我也不打算用太高難度的硬體來做例子了﹐免得畫虎不成反類犬啦。
-
首先要設定的是mouse﹐如果當初您在安裝的時候已經設定好了的話﹐應該就無需擔心了。不過﹐要是知道您的鼠標類型和接到哪個port 的話﹐也可以打 setup ﹐然後選擇‘Mouse configuation’來設定。
- 當 mouse 設定好之後﹐您可輸入 setup 之後選擇﹕ ‘X configuration’
也可以直接打﹕
- 首先﹐您會見到“PCI Probe”畫面﹕
如果您的顯示卡晶片組能夠被系統偵測到的話﹐在這裡您就看得到了。否則的話﹐恐怕要花的力氣就更多了。無論如何﹐您都要按‘OK’的了。
- 接下來﹐您會看到“Monitor Setup”畫面﹕
如果您的顯示器型號在清單之內﹐可以考慮選擇。不過﹐您也可以用‘Custom’來指定。選好後按‘OK’。
- 接下來您會看到“Custom Monitor Setup”這個畫面﹕
這裡告訴您的是一些使用‘Custom’方法的關鍵設定﹐同時建議您做好設定記錄。按‘OK’就是了。
- 在“Custom Monitor Setup (Contiuned)”畫面裡面﹐您必須要為您的顯示熒幕指定好‘水平掃描頻率’﹐您可能參考手冊找到正確的數值。如果找不到或懶得去找(像我)的話﹐可以選擇高一點的解析度﹐除非您的熒幕實在太舊則選擇低數值。這個例子中﹐我選擇‘High Frequency SVGA, 1024x768 @ 70 Hz’:
- 然後﹐您得為您的顯示器設定‘垂直掃描頻率’。這又要參考廠家手冊了﹗不想這樣做的話﹐挑最頂上那個最保險。不過﹐我知道我的熒幕可以使用‘50-90’這個範圍﹕
- 然後﹐在“Screen Configuration”畫面裡面﹐系統可以對熒幕的解析度和色深進行偵測﹐如果您不清楚您的設定如果﹐到可以選擇‘Probe’。不過﹐在我的經驗裡﹐選擇‘Don't Probe’更保險﹐但您要知道您的硬體配置情況如何﹕
- 如果您選擇了‘Don't Probe’的話﹐在‘Video Memory’畫面裡面就得設定好顯示卡的記憶體數量了。雖然我知道我的卡有4MB﹐但過往的測試中﹐最多只能使用到2MB﹐所以我這裡也就選擇了‘2 mb’:
- 然後﹐您就會來到“Clockchip Configuration”畫面了﹕
除非您知道您的顯示卡使用的Clockchip型號(如 S3 Trio 64+ 可以使用‘S3 GenDAC’)﹐否則﹐最好就別使用 Clockchip﹐選擇‘No Clockchip Setting (recomended)’然後按‘OK’。
- 接著在‘Probe for clocks’畫面裡面﹐我們可以選擇‘Probe’﹕
- 如果您看到‘Clockl Probe failed’畫面﹕
也就是說系統不能正常的偵測到時鐘數值﹐那麼﹐重來的時候﹐可以在上一步選擇‘Skip’。如果 Probe 出來的‘Color Depth’和‘Resolution’正確的話﹐您可以選擇‘Use Dfault’﹔如果不是﹐您可以選擇‘Let Me Choose’。
- 然後在‘Select Video Modes’畫面裡面﹐選擇好正確的色深和解析度﹕
您一定要確定您的顯示卡和熒幕能夠支持得到您所選的數值。如果您不確定﹐最好從最低(如 8bit﹐640x480)慢慢試上去。
- 接下來系統會測試一下設定是否可行﹐您可以在‘Starting X’畫面選擇‘OK’﹔如果不想測試則選擇‘Skip’。通常都應該進行測試的﹐因為如果設定不對還可以‘Back’到以前的步驟重新設定﹕
- 接下來的畫面會出現十秒(因為擷取不到該畫面﹐所以這裡欠奉了)﹐如果您能清晰的看到文字﹐應該選擇‘Yes’﹐如果您超過十秒還沒動作﹐就當您看不到文字了﹐那樣系統就會告訴您‘Error’﹐您可以‘Back’回去重新設定﹐也可以選擇‘Quit’退出。
- 如果您能看到上一步的文字﹐並且在十秒內按了‘Yes’﹐系統會問您是否想“一開機就直接進入 X Window 界面”﹐如果您喜歡用 X Window﹐那麼按‘Yes’。不過﹐我建議您還是選擇‘No’好了。因為如果您選擇了‘Yes’之後要回到文字模式的話就要費一番功夫才行﹔但我們卻可以隨時從文字模式進入 X Window。
- 一切妥當的話﹐只要您輸入:
就可以看到美麗的 X Window啦﹗如果您很不幸在 X Window 裡面卡住了﹐要退出來的話﹐可以嘗試按﹕
好了﹐如果您夠幸運完成上面的所有步驟﹐真要恭喜您了﹗別看我在這裡例子裡面選這按那的好像一點都不難﹐但事實上﹐要當初要找出選擇什麼﹐按哪個鍵卻花費了不少時間呢﹗如果您發現您的 X Window 老設定不來﹐別喪氣﹐好多人都不能一次搞定呢。對於
X 系統﹐一直都是設定 Linux 的一個難題﹐卻也沒有什麼捷徑﹐只能靠多嘗試了。
xf86config 和 XF86Config
上面所教的設定 X Window 的方法叫 “Xconfigurator”﹐好像只有 RedHat Linux 才有這個程式。如果您用其他套件的話﹐可以使用“XF86Setup”或“xf86config”這兩個程式。前者非常好用和直觀﹐因為是圖形界面的﹐這裡也不就多費唇舌了﹐如果您想使用它﹐可以將XFree86-XF86Setup-3.3.3.1-53CLE.i386.rpm裝起來﹐然後輸入 XF86Setup 就可以了。不過 xf86config 卻不是那麼好用﹐下面就讓我們用一個最陽春的組合( S3 Trio64+ 顯示卡配搭 640x480熒幕)來看看xf86config 是怎麼使用的。之所以使用個組合﹐完全是因為成功的機會大﹐如果您想看看 X Window 是怎麼個模樣﹐用這個組合保證您不會失望就是了。
- 在文字模式下面輸入﹕
- 然後在第一個畫面裡面﹐最後一行應該是這樣的﹕
Press enter to continue, or ctrl-c to abort.
我們按‘ Enter ’就是了。使用 xf86config 有一個不好的地方是﹕如果設定錯了﹐沒有機會回到上一步的。如果您在設定過程中發現輸入錯了﹐可以按 ‘Ctrl + c’鍵終止程式﹐然後重新再來。
- 然後是要您選擇好鼠標類型﹐因為我用的是 PS/2 鼠標﹐所以在“Enter a protocol number: ”那裡輸入 ‘4’ 。
- 然後會問您是否需要“三鍵模擬模式”﹐除非您有此特殊需要﹐否則見到“Do you want to enable Emulate3Buttons? ”後輸入‘n’就是了。
- 接著問的是鼠標設備位置﹐除非您更改過系統﹐否則見到“Mouse device:”的時候﹐直接按‘Enter’即可。
- 接著問您要不要“XKEYBOARD 模式”﹐這其實沒什麼重要﹐我們看到“Do you want to use XKB﹖”的時候輸入‘y’就是了。
- 然後再按一次‘Enter’繼續。
- 選擇好您的鍵盤型號﹐這裡我們選擇‘1’。
- 然後再按一次‘Enter’繼續。
- 接下來是選擇顯示器的“水平掃描頻率”﹐這裡我們選擇‘2’﹐即﹕“31.5 - 35.1; Super VGA, 800x600 @ 56 Hz”。
- 接下來是選擇顯示器的“垂直掃描頻率”﹐這裡我們選擇‘1’﹐即﹕“50-70”。
- 當您看到“Enter an identifier for your monitor definition:”的時候﹐您可以為您的顯示器做些註解﹐否則﹐一連按三下‘Enter’就是了。
- 然後系統會問您是否要看一看顯示卡的資料庫﹐當然要啦﹐所以我們看到“Do you want to look at the card database?”的時候輸入‘y’。
- 然後我們就一直的按‘Enter’往下翻頁﹐直到找到自己的型號為止﹐如果錯過了﹐還是一直按‘Enter’等它繞一圈回來。這裡我們找到我們的卡﹕“457 S3 Trio64V+ (generic)”。我們需要的前面的數字﹐然後我們輸入“457”再按‘Enter’。
- 系統會顯示出您所做的選擇﹐按‘Enter’繼續就是了。
- 然後﹐系統要我們選擇一個 X Sserver 類型﹐既然我們已經找到我們的卡了﹐所以當看到“Which one of these screen types do you intend to run by default (1-5)?”的時候輸入‘5’﹐即﹕“Choose the server from the card definition, XF86_S3. ”。
- 然後系統會問您是否要為設定檔建立 link﹐當您看到“Do you want me to set the symbolic link?”的時候輸入‘y’。
- 然後系統要您輸入顯示卡的記憶體數量﹐雖然我知道我的卡有 2MB﹐但我這裡輸入 1MB 就可以了﹐所以選擇‘3’﹐即﹕“1024K”。
- 接著系統會問您是否要為顯示卡做些註解﹐如果您不想花時間﹐一連按三下‘Enter’就是了。
- 然後系統問您是否要指定RAMDAC類型﹐這裡我們選擇‘9’﹐即﹕“S3 GenDAC (86C708) (autodetected)”。如果您不知道該怎麼選擇﹐可以按‘q’離開。
- 既然我們已經選擇了 RAMDAC﹐那麼接著我們就得設定好 clock chip﹐這裡我們選擇‘6’﹐即﹕“S3 GenDAC (86C708) and ICS5300 (autodetected)”。如果您不知道怎麼選擇﹐直接按‘Enter’就可以跳過。
- 再按一次‘Enter’繼續。
- 接著我們得為熒幕選擇色深﹐這裡我們選擇‘2’﹐即﹕“16bpp (32K/64K colors)﹐也就是 16bit color了”。
- 然後我們得選擇解析度﹐這裡我們選擇‘2’﹐即﹕“640x480”。
- 然後系統會問您是否需要虛擬熒幕(它可以顯示出比實體熒幕要大的畫面)。如果您覺得好玩的話﹐可以選擇的。不過﹐我個人覺得並不那麼好玩﹐所以當看到“Do you want a virtual screen that is larger than the physical screen?”的時候輸入‘n’。
- 當一切都設定好了﹐我們這裡選擇‘5’﹐即﹕“The modes are OK, continue.”。如果您後悔了﹐想改變為其他的色深和解析都﹐那麼可以選擇其他號碼繼續。
- 然後系統會問您是否要保存設定﹐當然啦﹗要不我們花這麼多時間在這裡幹嘛﹖所以當看到“Shall I write it to /etc/X11/XF86Config﹖”的時候輸入‘y’。
這樣﹐您打 startx 看看就知道設定是否生效了。
現在﹐我們知道可以用 Xconfigurator、XF86Setup 以及 xf86config 來設定 X Window。但事實上﹐無論您用哪一個程式來設定 X Window﹐它們最終的目的是幫助您修改一個檔案而已。這檔案就是 XF86Config 了﹐您可以在 /etc/X11/ 目錄下面找到它﹐它有一個 link 在 /usr/X11R6/lib/X11/ 下面。只要您懂得如何修改這個檔案的話﹐那麼剛才用來設定 X Window 的程式都可以不用了。不過﹐修改這個檔案可真的不容易啦﹐如果您真的想碰它﹐最好做一個先備份。
在XF86Config這個檔案裡面﹐您需要注意的主要有三個 section ﹕monitor、device 和 screen。
在 monitor 那個 section裡﹐光一看那一行行的數字﹐我可是敬而遠之了。怕怕啦﹐最好不要碰﹐還是讓 Xconfigurator來設好了。
至於 device section 嘛﹐好像還有點 meaning ﹐倒可以弄弄的。拿我們剛才用 Xconfigurator 設定的樣板來看﹐我們應該看到有這樣的一些句子﹕
Section "Device"
Identifier "MagicGraph NM2160"
VendorName "Unknown"
BoardName "Unknown"
#VideoRam 2048
# Chipset "NM2160"
# IOBase 0xfea00000
# MemBase 0xfd000000
# VideoRam 2048
# DacSpeed 90
# Option "linear"
# Option "nolinear"
# Option "sw_cursor"
# Option "hw_cursor"
# Option "no_accel"
# Option "intern_disp"
# Option "extern_disp"
# Option "mmio"
# Option "no_mmio"
# Option "lcd_center"
# Option "no_stretch"
# Insert Clocks lines here if appropriate
EndSection
|
那些被 “#”註解起來的行是會被忽略的。只是有點不明白的是﹐當初我明明選擇了 2MB 的記憶體﹐不知道因何也被註解起來了﹐可能是改用了自動偵測了吧﹖至於其他的 Option﹐如果您知道怎麼設定﹐可以一一修正過來的﹐尤其您要弄一些新卡(AGP)﹐常要手動的修改這些設定。至於其他的 device﹐您可以不用管﹐除非您在下面的 screen section 裡面使用到了。
再來看 screen 這個 section﹐您也應該會看到諸如這樣的敘述﹕
Section "Screen"
Driver "accel"
Device "MagicGraph NM2160"
Monitor "My Monitor"
Subsection "Display"
Depth 16
Modes "1024x768"
ViewPort 0 0
EndSubsection
EndSection
|
在這裡﹐‘Device’和‘Monitor’都要聯係到檔案前面所設定的名稱(它們要一致)。至於其他的設定﹐則可以再行設定。有時候﹐您發現您設定的色深和解析度都不生效﹐可以考慮到這裡將那些您不想要的‘Subsection’註解掉就可以了。
選擇WM
至此﹐只要我們輸入 startx 就可以進入 X Window 了﹐RedHat 6.0 預設的情況下﹐您看到的 Windows Manage 會是 Gnome。然而事實上﹐您除了 Gnome 之外﹐還有許多 WM 可以選擇﹐例如 KDE、AfterStep、Fvwm95 等等。如果您想輸入 startx 後進入您自選的 WM﹐您可以修改家目錄的這個檔案﹕‘~/.xinitrc ’(如果此檔案不存在的話﹐自行建立吧)。下面是這個檔案的範例﹕
#!/bin/bash
#
# File name: .xinitrc
#
#exec /etc/X11/xinit/Xclients GNOME
exec /etc/X11/xinit/Xclients KDE
#exec /etc/X11/xinit/Xclients WINDOWMAKER
#exec /etc/X11/xinit/Xclients Fvwm95
#exec /etc/X11/xinit/Xclients FvwmMWM
#exec /etc/X11/xinit/Xclients icewm-light
|
您要做的只是將您要選擇的 wm 前面的“#”拿掉﹐然後將其他的 wm 註解起來就可以了。不過﹐上面這個 script 只適用於CLE版本﹐如果您使用其它版的話﹐將您的 .xinitrc 改成這樣﹕
#!/bin/bash
#
# File Name: .xinitrc
#
#exec gnome-session
exec startkde
#exec /usr/X11R6/bin/RunWM --AfterStep
#exec /usr/X11R6/bin/RunWM --WindowMaker
#exec /usr/X11R6/bin/RunWM --Fvwm95
#exec /usr/X11R6/bin/RunWM --FvwmMWM
#exec /usr/X11R6/bin/RunWM --icewm-light
|
我們知道有好幾種 X Server 可以在 Linux 裡面跑﹐那麼各種不同的 WM 就是不同 X Client 了。這裡﹐我不詳細講述怎麼安裝 wm 了﹐您除了用 ~/.xinitrc 來指定預設 WM 之外﹐最保險的還是修改 /etc/X11/xinit/Xclients 這個檔案了﹐只要將您最喜歡的 WM 排在前面就是了。
還有一個簡單辦法哦﹐您只要執行下面命令就可以切換 WM 了﹕
echo "KDE" > /etc/sysconfig/desktop
|
您只要將 KDE 換成 GNOME 或其它 WM 名稱﹐然後打 startx 就可以了﹗
試試看~~~ 看您喜歡哪一個 WM ﹖
© 2000
Netman 網中人
Last Updated: May 17, 2000