• slider image
:::

肛門期的天才 - IT工作站 | 2002-09-26 | 人氣:2178

這篇文章的目的,並不是要告訴大家什麼Linux的基本概念。當然這篇文章是寫給剛入門的新手看的,說得更詳細一點,本文是給那些剛入門探索Linux的世界有一陣子,但是卻遭遇到重大挫折而又不得不重回Windows懷抱的新手們看的。  

本文分為以下四個部份:

一、 安裝Linux前的準備工作
二、 驅動NVIDIA 3D加速卡
三、 X-Window下的多媒體娛樂
四、 關於中文環境

在開始本文之前,有幾件事情要先來說明一下。這篇文章的目的,並不是要告訴大家什麼Linux的基本概念,例如檔案系統架構,基本的操作或是詳細的安裝過程等等。當然這篇文章是寫給剛入門的新手看的,但是對於完全沒有碰過Linux的人來說,是不大可能看得懂本文在寫些什麼的。說得更詳細一點,本文是給那些剛入門探索Linux的世界有一陣子,但是卻遭遇到重大挫折而又不得不重回Windows懷抱的新手們看的。

Linux其實也可以看VCD/DVD,玩雷神之槌Ⅲ(Quake3),聽Mp3,並且像是在Windows環境那樣輸入中文。自從Mandrake以KDE當作預設桌面之後,整個視窗操作環境其實已經跟Windows沒有兩樣了,甚至連其中的快速鍵都一模一樣。

當然跟Windows很像並不是Linux的優點,Linux最大的優點是它先進的核心架構,即使KDE桌面環境做得很像Windows,但Linux的核心架構跟Windows是完全不一樣的。Linux的前身是UNIX,一個專門為了專業級的大型伺服器開發的作業系統,因此Linux也繼承了UNIX的特點,包括多工能力,穩定的作業環境,以及不易毀損的ext3日誌型檔案系統等等。

Linux是一個核心架構比Windows先進的32位元作業系統,Windows一直到了XP,才是一個真正的32位元作業系統。因為早期的電腦是16位元,Linux才未能廣泛普及,造成微軟的DOS作業系統獨佔市場的局面。

Linux唯一的缺點,就是X-Window桌面環境的整合度比不上Windows,甚至有許多新手可能還卡在無法進入X-Window的窘境,或是好不容易驅動了顯示卡,卻沒有3D加速的功能。想看DVD,卻因為鎖區碼的問題而無法播放,不然就是沒有5.1聲道,無法享受高品質的聲光效果。但事實上,這些在Mandrake裡面統統都不是問題。

雖然這篇文章是以Mandrake 8.2為主,但是對於其他發行版應該也都可以適用,只要kernel版本是2.4.18,XFree86的版本是4.2.0就可以了。

一、 安裝Linux前的準備工作

因為在進行各種設定工作時,有許多地方還是得要仰仗Windows的幫助,因此最好一顆硬碟裡面能夠同時擁有Linux以及Windows 98作業系統。

比較值得注意的地方是,Mandrake在安裝過程中,如果找不到硬體清單支援的類型,就會使用XFree86 3.3.6的版本去進行顯示卡的驅動。然而NVIDIA所提供的官方驅動程式卻只支援XFree86 4.2.0以上的版本,因此我們得要先將Mandrake重新導向,讓它使用XFree86 4.2.0為止。

為什麼這裡一直強調NVIDIA的3D加速卡,是因為只有NVIDIA提供最好的驅動程式,擁有極佳的GLX函式庫支援,凡是完全使用GLX函式庫開發的應用程式,例如Quake3for Linux,都可以順利執行,而且效能甚至強過在Windows環境下執行。因為一般的3D加速卡大多針對Windows的DirectX函式庫加強效能,因此在Linux的環境下表現得就不如預期。

GLX函式庫,因為是開放原始碼的標準,因此也稱做Open GL。它跟DirectX究竟有什麼不同?這部份的討論比較專業,以後有機會再談。簡單地說,GLX函式庫是一個根據工業標準所制定出來的,擁有極佳的動態光影效果,甚至星際大戰二部曲的電腦動畫,就是用Linux做出來的,而不像DirectX只有固定不變的假光源。因此有許多專業級的電腦繪圖工作室,如果不是使用i-Mac,就是使用Linux。DirectX之所以成為主流,只因為GLX對硬體的需求很嚴苛,一個完全以GLX繪圖函式庫製作的電腦遊戲,例如明年即將推出的毀滅戰士Ⅲ(Doom3),沒有AMD XP-1800+搭配GeFroece3以上等級的電腦是跑不起來的。

當然XFree86對於顯示卡的支援度也已經很廣泛了,只是目前只支援到GeForce3,凡是在GeForce3以前的顯示卡都不支援,包括Radeon 8500等。但是目前市場上的高階主流顯示卡,已經慢慢從Radeon 8500變成GeForce4 Ti-4200,但是Linux卻找不到最新的GeForce顯示晶片,因此使用Ti-4200的人,在安裝過程進行到設定X環境的時候,就會找到一張unlisted的顯示卡。

這時使用者就必須手動選擇別的顯示卡,例如到NVIDIA類別選擇GeForceⅢ,按下確定之後,程式會問你要使用那個版本的XFree86,記得選擇4.2.0的版本,並且“不要”進行測試,一定不會通過的,只要選擇離開,並且儲存變更的結果就行了。

程式接著會問你要不要啟動Linux之後就進入X-Window,千萬不可以,因為一定不可能進得去X-Window的。

那麼開機之後只能進入console模式,但是顯示卡的Linux驅動程式又要從網路上下載,因此得用別台電腦上網下載,存在磁片裡或光碟裡。或是在本身的硬碟裡保留Windows作業系統,用Windows開機下載後,再重新開機進入Linux,並且到/mnt/windows這個資料夾裡面就可以找得到了。

因為在Linux有些純文字的組態設定必須要修改,因此使用者必須了解vi的用法。當然Linux有許多純文字編輯器可以選擇,但vi依然是最簡潔的一個,只是指令比較難記。簡單介紹一下:一開始進入vi是命令模式,不能編輯。使用者得先按下 “a” 才能開始編輯,完成後記得按下 “ESC” 回到命令模式,輸入 “:wq” 之後就可以存檔並離開了。( w 就是 “write”,q 就是 “quit”)

對新手來說,如果不知該如何選擇套件的話,請儘量勾選所有的工作平台,伺服器平台則可以不用,並且不選擇單一套件,使用系統預設的套件即可。

二、 驅動NVIDIA 3D加速卡

首先我們得先到NVIDIA的官方網站:http://www.nvidia.com去下載驅動程式。因為所有的NVIDIA產品都是按照公版的線路圖去設計的,因此不論是那家廠商生產的都能使用NVIDIA官方提供的驅動程式。面對這麼多類型的驅動程式該如何選擇?以Mandrake 8.2來說,需下載下列兩個rpm:

NVIDIA_GLX-1.0-3123.i386.rpm
NVIDIA_kernel-1.0-3123.mdk82up.i586.rpm

不論是任何發行版的Linux,所需的GLX都是同一個版本,至於kernel的版本就比較多,其中up是給一般的發行版使用,smp則是雙CPU的系統,如果不知該如何選擇,可以下載NVchooser.sh,在console模式下執行:

./NVchooser.sh

這個程式會告訴你該下載那些版本的驅動程式。

接著執行:

rpm -ivh NVIDIA_kernel-1.0-2960.mdk82up.i586.rpm
rpm -ivh NVIDIA_GLX-1.0-2960.i386.rpm

也許會出現一些警告訊息,不會影響到安裝,但也可以先拿記事本記下,若無法安裝驅動程式,到網站上發問時記得將錯誤訊息post出來。安裝完成之後,執行:

vi /etc/X11/XF86Config-4

修改XF86Config-4這個純文字檔案,尋找 ""Module"" 區段,增加一行:

Load ""glx""

若有以下兩行,請刪除:

Load ""dri""
Load ""GLcore""

接下來尋找 ""Device"" 區段,凡是有任何一行是如下形式的:

Driver ""xxxxx""

一律改成:

Driver ""nvidia""

全部改完之後重新啟動電腦,執行startx進入X-window,如果有看到NVIDIA的Logo,那麼恭喜你,安裝已經成功了!

如果沒看到,那麼X-Window使用的可能不是XFree86 4.2.0版本。進入/var/log這個資料夾,若有看到XFree86.0.log這個檔案,那麼就應該沒有問題才對,如果沒有這個檔案,X-Window使用的可能是舊版的XFree86。

對於沒有辦法使用rpm安裝的發行版,官方網頁也有tar格式的檔案可以用,裡頭是驅動程式的原始碼,需自行編譯。編譯的手續也很簡單,解壓縮之後再make就行了。

不過要注意的是,使用Mandrake 9.0 beta3版本的人,因為NVIDIA的官方驅動程式,有個函式庫檔案無法被Linux的核心所接受,因此無法安裝。唯一的解決方法就是修改驅動程式的原始碼再編譯,不然就是等新的官方驅動程式的推出了。

假定現在順利進入了X-Window,使用USB光學滑鼠的人可能會出現一些問題,解決方法就是修改/etc/modules這個純文字檔案,在console環境下執行:

vi /etc/modules

新增一行:

hid

存檔之後重新開機,再進入X-Window問題應該就解決了。

若想使用NVIDIA提供的 GLX 函式庫來設計 3D 電腦繪圖程式,請將下列檔案:

/usr/share/doc/NVIDIA_GLX-1.0/include/GL

複製到:

/usr/include/GL

對於GLX原始碼有興趣的人,也可以到官方網頁去下載相關檔案。關於顯示卡其餘的設定,請參考下列說明檔:

/usr/share/doc/NVIDIA_GLX-1.0.

迫不及待想測試看看3D加速卡的效能嗎?到id software的官方網頁,或是http://toget.pchome.com.tw去下載Quake3Arena for Linux 測試版,這是rpm格式的檔案。安裝完成之後,需要在X-Window環境下,執行Gnome Terminal或是Kterm去執行Quake3。安裝程式並不會設定捷徑,使用者需自設,可執行檔所在的預設路徑是 /usr/local/games/q3test/linuxquake3。

若想要訂購雷神之槌Ⅲ完整版,可以到http://www.tuxgames.com/,售價因為要加上運費,可能會比較貴一點就是了。附帶一提,這個網站也可以預先訂購明年即將上市的毀滅戰士Ⅲ(DOOM3)Linux版哦!

三、X-Window下的多媒體娛樂

KDE桌面環境下可以聽CD,也可以看VCD,這是沒有問題的。若想以數位的方式播放音樂,也可以將CD轉成MP3格式。目前最新的編譯核心是LAME 3.92,使用者可以用Windows將CD音軌轉成MP3,若要在Linux下執行MP3的轉檔動作,可以到http://www.mp3dev.org/mp3/去下載LAME MP3的原始碼,自行編譯成WAV->MP3轉檔程式。在http://toget.pchome.com.tw可以下載Linux環境下的CD音軌抓取程式,抓到硬碟成WAV檔之後再轉換。

如果想看DVD,因為版權的問題,所以在KDE的環境下並沒有播放DVD的軟體。然而現在有了Mpeg-4,就再也不是問題了。

請到官方網頁http://www.divx.com去下載Linux專屬的Mpeg-4工具。下列兩個檔案是必需要的:

divx4linux501-20020418.tgz <-這是Mpeg-4的解編譯器
divx-player-installer.tar.gz <-這是Linux環境下的Mpeeg-4播放程式

在KDE的環境下,使用檔案總管點選這兩個壓縮檔案就可以開啟它們,就像是在WinME或是WinXP那樣的用法。KDE處理Linux專屬的壓縮格式相當有效率,一下子就可以開出來,也絕對不會像Windows那樣,碰到比較大的壓縮檔就死當在那邊。

將divx4linux501-20020418.tgz壓縮檔的內容copy出來,執行Gnome Terminal,切換到Div-X安裝程式所在的目錄,執行:

./install.sh

程式將會安裝Div-X的解編譯器,安裝過程不會出現任何文字,等到出現系統提示符號就代表安裝完成。接著安裝Div-X的播放程式,同樣的步驟,解壓縮之後執行:

./install

安裝過程會詢問一些問題,使用預設值就可以了。

安裝完成之後,使用者可以到/usr/bin/去執行divxplayer,或是開啟Gnome Terminal,輸入divxplayer執行。所有的操作介面完全跟Windows環境一模一樣,因此使用起來應該是不會有任何問題才對。

由於Linux並沒有製作Mpeg-4影音檔的工具,因此得要在Windows環境下製作。如何將DVD製成Mpeg-4格式的影音檔,因為不在本文的討論範圍,以後有機會再來談。

Mpeg-4也可以有5.1聲道音效,但是目前只有CMI8738晶片有提供完整的Linux驅動程式,可以在Linux環境下提供5.1聲道的效果。但是經過試驗的結果,不論怎麼樣,C-Media都只能提供到4.1聲道的效果。這是因為在5.1聲道裡面的中央聲道,其實是用模擬的方式,將兩個前方聲道同屬中央部份的音頻抓出來而已,由於模擬的方式是採用Windows內建的DirectX函式庫去呼叫,因此在Linux環境裡面就沒有辦法提供中央聲道。

其實中央聲道原本就可以不必要,換個角度來看,同價位的4.1聲道喇叭一定可以提供比5.1聲道更好的音質,畢竟喇叭是一分錢一分貨的東西。

C-Media也可以提供A3D 1.0的3D定位技術,也有EAX環境模擬效果,但是在Linux環境下是沒有EAX的。因為EAX是Creative公司專門為了DirectX函式庫所量身訂做的標準,這也是為什麼所有聲霸卡系列產品都沒有官方所提供的Linux驅動程式的緣故。雖然如此,Linux也內建了完整的聲霸卡系列產品驅動程式,但最多都只能有立體聲效果而已,既沒有多聲道,也沒有EAX。

同樣的道理,Creative公司所生產的旗艦級產品Audigy,也沒有辦法在Linux環境下提供Advanced EAX技術。不過這種技術向來就是應用在game的領域裡面的,不喜歡玩game的人也不會在意這一點。對於喜歡玩game的人來說也不用傷心,明年計畫推出的毀滅戰士Ⅲ(DOOM3),為了能夠在Linux環境下執行,既不打算支援DirectX 3D函式庫,也不會支援EAX技術。為了提供極佳的光影效果,毀滅戰士Ⅲ(DOOM3)將會採用GLX繪圖函式庫,以及5.1聲道的3D定位技術。

如果有人問我,C-Media晶片是那家公司製作的?採用C-Media 8738音效晶片的音效卡要去那裡找?其實主機板內建的音效晶片,大多就是採用C-Media 8738晶片的。由驊訊電子所製造,這是台灣自己的公司唷!目前這款晶片不但在台灣市場有極高的佔有率,而且在國外也有產品上市!

內建有C-Media 8738音效晶片的主機板製造商:

ASUS 華碩電腦
A-WinR 奇致科技
Chaintech 承啟科技
ECS 精英電腦
Epox 磐英科技
Gigabyte 技嘉科技
Iwill 艾崴(股)
Jetway 捷波資訊
Microstar 微星科技
PCChips 鑫明
Shuttle 浩鑫(股)
SOYO 梅捷企業

內建有C-Media 8738音效晶片的音效卡:

新眾 SC3000L Theater Live 5.1 (no S/PDIF)
瑞麗夏之戀
麗臺 WinFast 6Xsound
啟亨嗆紅辣椒 5.1
頂堅 Live 6ch 光纖天音卡


四、關於中文環境

這一節分成三個部份來解說:首先是KDE桌面選單亂碼的解決問題,以及如何設定KDE環境,使得字型看來更美觀。再來是討論xcin中文輸入,最後是辦公室軟體,以及Netscape下的中文環境。

KDE的預設字型fixed-16,並不是很漂亮,而且還會有選單亂碼出現的問題。解決辦法也很簡單,首先下載修正檔案:

http://mdk.linux.org.tw/~kenduest/po/menu-messages.mo

接著以root登入console,切換到menu-messages.mo所在的位置,執行:

cp menu-messages.mo usr/share/locale/zh_TW/LC_MESSAGES/menu-messages.mo

這個指令會usr/share/locale/zh_TW/LC_MESSAGES/menu-messages.mo這個檔案覆蓋掉,按下y確定覆蓋之後,再執行:

update-menu

重新開機之後再進入X-Window,亂碼問題應該就會被解決了。如果沒有,再執行一次update-menu指令應該就可以了。

如何調整字型:

從KDE的「選單->設定->KDE->外觀和感覺」,在這個項目裡面可以設定圖示、字型、桌面,將所有的字型都從預設的fixed改為ming字型,其他的設定則是看自己的喜好,這樣就會很漂亮了。

如果還是不滿意,就從「Mandrake 控制中心」去設定「字型」這個項目,選擇「載入 Windows 字型」,就可以使用所有的Windows英文字型了!不過前提是硬碟裡必需同時有Windows分區,而且只能載入英文字型。在這個控制中心也可以設定是否要在下一次開機的時候進入X-Window,關於詳細的控制中心設定是非常重要的,下次有機會再談。

如果覺得KDE預設的Konqueror瀏覽器字型不漂亮,「選單->設定->KDE->檔案瀏覽->檔案管理員」可以設定檔案總管的各種設定。使用者也可以使用 「鸚鵡螺」(Nautilus)這個超豪華的檔案總管。

如何在XCIN環境下使用無蝦米?首先我們必須準備一份無蝦米的表格檔,副檔名是.cin,也就是無蝦米輸入法的定義。我們必需修改其中的內容,因為原始內容不合xcin的格式。不論表格檔的內容為何,請改為如下所示:

#########################################################################
# Boshiamy Input Method 5.0. All rights reserved. 8/1/1997 Stingray
#########################################################################
%gen_inp
%ename liu5
%cname 無蝦米
%selkey 1234567890
%keyname begin
a A
b B
c C
d D
e E
f F
g G
h H
i I
j J
k K
l L
m M
n N
o O
p P
q Q
r R
s S
t T
u U
v V
w W
x X
y Y
z Z
, ,
. .
' ’
[ 〔
] 〔
%keyname end
%chardef begin
a 對
aa 寸
aaa 鑫
aaa 龘

//以下內容因為智慧財產權的問題,不能 po 上來。

要特別注意的是,無蝦米的表格檔在最後一行有一小段字串:

%charddef end

這一段字串必須刪除,改好之後存檔,假設檔名為liu5.cin。注意必須要使用KDE所附的文字處理器,使用任何Windows所附的文字處理器,即使是DOS之下的edit也是一樣,會在每個字串後面插入一個辨識字元,這會影響到轉檔工作的進行。修成完成之後,要轉換檔案,執行:

cin2tab liu5.cin liu5.tab

之後將轉換過的liu5.tab複製到下面的資料夾:

cp liu5.tab /usr/X11R6/lib/X11/xcin/tab/big5

最後我們還必須修改xcin的資源設定檔xcinrc,在下面這個路徑:

/etc/chinese/xcin/xcinrc

下列是xcinrc檔內容的詳細解說:

;
; Xcin resource file for GNU/Linux //以分號開頭的行為註解,可以忽略。
;
; By T.H.Hsieh.
;

;
; Directories.
;
(define XCIN_DEFAULT_DIR ""/usr/X11R6/lib/X11/xcin"") //這是xcin所在的位置
(define XCIN_USER_DIR "".xcin"")

;
; This defines GUI attribute. //以下的區段定義視窗介面的外觀
;
(define INDEX_FONT ""-sony-*-16-*-iso8859-1"")
(define FG_COLOR ""white"")
(define BG_COLOR ""blue"")
(define M_FG_COLOR ""yellow"")
(define M_BG_COLOR ""darkred"")
(define ULINE_COLOR ""cyan"")
(define GRID_COLOR ""white"")
(define X_GEOMETRY ""45x2+200-1"")
(define START_MAINWIN2 ""YES"")
(define MAINWIN2_GEOMETRY ""27x1+200-1"")
(define XCIN_HIDE ""YES"")
(define XKILL_DISABLE ""NO"")
(define ICCHECK_DISABLE ""NO"")
(define SINGLE_IM_CONTEXT ""NO"")
(define IM_FOCUS_ON ""NO"")
(define KEEP_POSITION_ON ""NO"")
(define DISABLE_WM_CTRL ""NO"")
(define DIFF_BEEP ""NO"")

//下面這一行為輸入法的區域,zh_TW為台灣地區的輸入法,其他都是中國大陸地區。
(define LOCALE '(zh_TW.Big5 zh_HK.Big5HKSCS zh_CN.GB2312 zh_CN.GBK))

;
; XIM Input Style Adjustments.
;
(define INPUT_STYLE '(Root OverTheSpot))
//上面這一行視窗的樣式,Root為固定式,OverTheSpot為浮動式。

(define OVERSPOT_USE_USRCOLOR ""YES"")
(define OVERSPOT_USE_USRFONTSET ""YES"")
(define OVERSPOT_WINDOW_ONLY ""YES"")

;
; Special Trigger Keys.
;
;(define FKEY_ZHEN ""ctrl space"")
;(define FKEY_2BSB ""shift space"")
;(define FKEY_CIRIM ""ctrl shift"")
;(define FKEY_CIRRIM ""shift ctrl"")
;(define FKEY_CHREP ""ctrl alt r"")
;(define FKEY_SIMD ""ctrl alt i"")
;(define FKEY_IMFOCUS ""ctrl alt f"")
;(define FKEY_IMN ""ctrl alt"")
;(define FKEY_QPHRASE ""shift alt"")

;
; IM module default resources.
;
(define gen_inp_default //這一段定義輸入法的功能,儘量使用預設值即可。
'((AUTO_COMPOSE YES)
(AUTO_UPCHAR YES)
(AUTO_FULLUP NO)
(SPACE_AUTOUP NO)
(SELKEY_SHIFT NO)
(SPACE_IGNORE NO)
(SPACE_RESET YES)
(AUTO_RESET NO)
(WILD_ENABLE YES)
(SINMD_IN_LINE1 NO)
(END_KEY NO)
(QPHRASE_MODE 0) ; 1:shift, 2:ctrl, 4:alt, 8:fallback
(DISABLE_SEL_LIST ""NONE"")
(KEYSTROKE_REMAP ""NONE"")
(BEEP_WRONG YES)
(BEEP_DUPCHAR NO)))

(define bimsphone_default //這是詞音輸入法的設定值,詞音輸入法為類似新注音的輸入法
'((N_SELECTION_KEY 9)
(SELECTION_KEYS 0) ; 0: ""1234567890"", 1: ""asdfgjkl;""
(PAGE_KEYS 5) ; 1:<> 2:,. 4Rt)(Lt)
(QPHRASE_MODE 1) ; 1:shift, 2:ctrl, 4:alt, 8:fallback
;
; This is only valid for ""bimsphone*"" IM name.
(AUTO_SELECTION YES)
(KEYMAP 0) ; 0:zozy, 1:et, 2:et26, 3:hsu
;
; This is only valid for ""bimspinyin*"" IM name.
(PINPHO_MAP ""bims_pinyin"")
;
; The following has effect only when AUTO_SELECTION is YES
(TSI_FNAME ""tsi.db"")
(YIN_FNAME ""yin.db"")
(SPACE_SELECTION NO)
(PHRASE_SELECTION YES)
(N_SELECTION_PHR 4)
;
; The following has effect only when AUTO_SELECTION is NO
(AUTO_UPCHAR YES)))


;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;
; This is the global configuration of the zh_TW.Big5 locale //這個區段定義台灣地區各種輸入法
;
(define zh_TW.Big5
'((DEFAULT_IM ""bimsphone"") //預設的輸入法
(DEFAULT_IM_MODULE ""gen_inp"")
(DEFAULT_IM_SINMD ""DEFAULT"") //選擇要顯示出來的組字字根
(PHRASE ""default.phr"")
(CINPUT (cj chewing simplex phone bimspinyin bimsphone jyutping
array30 bimsphonesimple zh_hex)) //所有可用的輸入法
(FONTSET ""-schumacher-clean-medium-r-normal--16-160-75-75-c-80-iso8859-1,-default-ming-medium-r-normal--16-*-*-*-c-*-big5-0,*"")
(OVERSPOT_FONTSET ""-schumacher-clean-medium-r-normal--16-160-75-75-c-80-iso8859-1,-default-ming-medium-r-normal--16-*-*-*-c-*-big5-0,*"")))
;
; Here are detailed configuration of each IM (for zh_TW.Big5 locale).
;
(define cj@big5 //這一段是倉頡輸入法的定義
'((SETKEY 1))) //組合鍵的設定,按下「ctrl+alt+1」就會出現倉頡輸入法

(define simplex@big5
'((SETKEY 2)))

(define phone@big5 //這一段是注音輸入法的定義
'((SETKEY 3)
(END_KEY YES)
(BEEP_DUPCHAR YES)))

(define jyutping@big5
'((SETKEY 4)
(END_KEY YES)
(BEEP_DUPCHAR YES)))

(define bimspinyin@big5
'((SETKEY 5)
(MODULE ""bimsphone"")))

(define bimsphone@big5
'((SETKEY 6)
(MODULE ""bimsphone"")))

(define array30@big5
'((SETKEY 8)
(BEEP_DUPCHAR YES)
(DISABLE_SEL_LIST ""w"")
(KEYSTROKE_REMAP ""t:0xaaba;"")))

(define bimsphonesimple@big5
'((SETKEY 11)
(INP_CNAME ""傳統注音%%注音"")
(AUTO_SELECTION NO)
(BEEP_WRONG YES)
(MODULE ""bimsphone"")))

;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;
; This is the global configuration of the zh_CN.GB2312 locale
;
(define zh_CN.GB2312
'((DEFAULT_IM ""pinyin"")
(DEFAULT_IM_MODULE ""gen_inp"")
(DEFAULT_IM_SINMD ""DEFAULT"")
(PHRASE ""default.phr"")
(CINPUT (pinyin shuangpin jtcj_gb wubizixing phonegb2 zh_hex))
(FONTSET ""-schumacher-clean-medium-r-normal--16-160-75-75-c-80-iso8859-1,-*-medium-r-normal--16-*-*-*-c-*-gb2312.1980-0,*"")
(OVERSPOT_FONTSET ""-schumacher-clean-medium-r-normal--16-160-75-75-c-80-iso8859-1,-*-medium-r-normal--16-*-*-*-c-*-gb2312.1980-0,*"")))
;
; Here are detailed configuration of each IM (for zh_CN.GB2312 locale).
;
(define pinyin@gb2312
'((SETKEY 1)
(BEEP_DUPCHAR YES)))

(define shuangpin@gb2312
'((SETKEY 2)
(BEEP_DUPCHAR YES)))

(define jtcj_gb@gb2312
'((SETKEY 3)))

(define wubizixing@gb2312
'((SETKEY 5)))

(define phonegb2@gb2312
'((SETKEY 9)
(END_KEY YES)
(BEEP_WRONG YES)
(BEEP_DUPCHAR NO)))

;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;
; This is the global configuration of the zh_HK.Big5HKSCS locale
;
(define zh_HK.Big5HKSCS
'((DEFAULT_IM ""cj"")
(DEFAULT_IM_MODULE ""gen_inp"")
(DEFAULT_IM_SINMD ""DEFAULT"")
(PHRASE ""default.phr"")
(CINPUT (cj chewing zh_hex))
(FONTSET ""-sony-*-24-*-iso8859-1,-*-24-*-big5hkscs-0"")
(OVERSPOT_FONTSET ""NONE"")))
;
; Here are detailed configuration of each IM (for zh_CN.GB2312 locale).
;
(define cj@big5hkscs
'((SETKEY 1)))


;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;
; This is the global configuration of the zh_CN.GBK locale
;
(define zh_CN.GBK
'((DEFAULT_IM ""zh_hex"")
(DEFAULT_IM_MODULE ""gen_inp"")
(DEFAULT_IM_SINMD ""DEFAULT"")
(PHRASE ""default.phr"")
(CINPUT (zh_hex))
(FONTSET ""-sony-*-24-*-iso8859-1,-*-24-*-gbk-0"")
(OVERSPOT_FONTSET ""NONE"")))

;
; The zh_hex module (zh_hex input method) is a special IM, which can be
; used in many different encodings.
;
(define zh_hex
'((SETKEY 0)
(MODULE zh_hex)
(INP_CNAME_big5 ""0xa4ba+0xbd58"")
(INP_CNAME_big5hkscs ""0xa4ba+0xbd58"")
(INP_CNAME_gb2312 ""0xc4da+0xc2eb"")
(INP_CNAME_gbk ""0xc4da+0xc2eb"")
(BEEP_WRONG YES)))

(define chewing@big5
'((SETKEY 7)
(KB_TYPE ""KB_DEFAULT"")
(MODULE ""chewing"")))

倘若我們要加入無蝦米輸入法,可以把原本的區段:

(define zh_TW.Big5
'((DEFAULT_IM ""bimsphone"") //預設的輸入法
(DEFAULT_IM_MODULE ""gen_inp"")
(DEFAULT_IM_SINMD ""DEFAULT"") //選擇要顯示出來的組字字根
(PHRASE ""default.phr"")
(CINPUT (cj chewing simplex phone bimspinyin bimsphone jyutping
array30 bimsphonesimple zh_hex))

改成下面這樣:

(define zh_TW.Big5
'((DEFAULT_IM ""liu5"") //預設的輸入法改為無蝦米
(DEFAULT_IM_MODULE ""gen_inp"")
(DEFAULT_IM_SINMD ""DEFAULT"") //選擇要顯示出來的組字字根
(PHRASE ""default.phr"")
(CINPUT (cj liu5 chewing simplex phone bimspinyin bimsphone jyutping
array30 bimsphonesimple zh_hex)) //記得在這裡加進liu5

若將(DEFAULT_IM_SINMD ""DEFAULT"")改成(DEFAULT_IM_SINMD ""liu5""),則不論使用何種輸入法,都會出現無蝦米的組字字根。

另外還要加進無蝦米輸入法的定義:

(define liu5@big5
'((SETKEY 7) //組合鍵定為7,因為原始的xcin設定保留這個組合鍵給無蝦米用
(INP_CNAME ""無蝦米%%無"")
(AUTO_SELECTION YES)
(BEEP_WRONG YES)))

這樣一來就可以使用無蝦米了。在進階的修改法裡,還可以將所有不必要的敘述刪掉,下面這段內容,為精簡過的xcinrc設定值,只有注音和無蝦米,並且可以使用注音來查詢無蝦米組字字根。

(define XCIN_DEFAULT_DIR ""/usr/X11R6/lib/X11/xcin"")
(define XCIN_USER_DIR "".xcin"")
(define INDEX_FONT ""-sony-*-16-*-iso8859-1"")
(define FG_COLOR ""white"")
(define BG_COLOR ""blue"")
(define M_FG_COLOR ""yellow"")
(define M_BG_COLOR ""darkred"")
(define ULINE_COLOR ""cyan"")
(define GRID_COLOR ""white"")
(define X_GEOMETRY ""45x2+200-1"")
(define START_MAINWIN2 ""YES"")
(define MAINWIN2_GEOMETRY ""27x1+200-1"")
(define XCIN_HIDE ""YES"")
(define XKILL_DISABLE ""NO"")
(define ICCHECK_DISABLE ""NO"")
(define SINGLE_IM_CONTEXT ""NO"")
(define IM_FOCUS_ON ""NO"")
(define KEEP_POSITION_ON ""NO"")
(define DISABLE_WM_CTRL ""NO"")
(define DIFF_BEEP ""NO"")
(define LOCALE '(zh_TW.Big5))
(define INPUT_STYLE '(Root OverTheSpot))
(define OVERSPOT_USE_USRCOLOR ""YES"")
(define OVERSPOT_USE_USRFONTSET ""YES"")
(define OVERSPOT_WINDOW_ONLY ""YES"")
(define gen_inp_default
'((AUTO_COMPOSE YES)
(AUTO_UPCHAR YES)
(AUTO_FULLUP NO)
(SPACE_AUTOUP NO)
(SELKEY_SHIFT NO)
(SPACE_IGNORE NO)
(SPACE_RESET YES)
(AUTO_RESET NO)
(WILD_ENABLE YES)
(SINMD_IN_LINE1 NO)
(END_KEY NO)
(QPHRASE_MODE 0) ; 1:shift, 2:ctrl, 4:alt, 8:fallback
(DISABLE_SEL_LIST ""NONE"")
(KEYSTROKE_REMAP ""NONE"")
(BEEP_WRONG YES)
(BEEP_DUPCHAR NO)))
(define zh_TW.Big5
'((DEFAULT_IM ""liu5"")
(DEFAULT_IM_MODULE ""gen_inp"")
(DEFAULT_IM_SINMD ""liu5"")
(PHRASE ""default.phr"")
(CINPUT (liu5 phone))
(FONTSET ""-schumacher-clean-medium-r-normal--16-160-75-75-c-80-iso8859-1,-default-ming-medium-r-normal--16-*-*-*-c-*-big5-0,*"")
(OVERSPOT_FONTSET ""-schumacher-clean-medium-r-normal--16-160-75-75-c-80-iso8859-1,-default-ming-medium-r-normal--16-*-*-*-c-*-big5-0,*"")))
(define liu5@big5
'((SETKEY 1)
(INP_CNAME ""無蝦米%%無"")
(AUTO_SELECTION YES)
(BEEP_WRONG YES)))
(define phone@big5
'((SETKEY 2)
(END_KEY YES)
(BEEP_DUPCHAR NO)))

另外在注音輸入法的設定值裡面,最後一行(BEEP_DUPCHAR NO)設定在選字時不發出嗶聲。網路上有網友詢問要如何消除注音輸入法的嗶聲,因為嗶聲在預設值裡面是開啟的,所以要自行修改。

Mandrake 8.2另外還有一個特點,就是在Gnome Terminal裡面不但可以輸入中文,而且可以處理包含中文的檔案,當然也包括使用中文檔名。例如grep這個指令也可以搜尋檔案中的中文字串而沒有問題。

Linux還有一套非常好用的,不輸給微軟的Office的辦公室軟體:Open Office,可以在交通大學的FTP伺服器下載:

ftp.nctuedu.tw

Open這個字代表的是開放源始碼的意思,Open Office所採用的原始碼來自昇陽,也就是Sun Microsystem。原本的產品為Star Office 6.0,後來因為版權的問題改名為Star Suit 6.0。自從昇陽公司開放原始碼之後,Linux就有免費的辦公室軟體可以用了。

也許有人認為開放原始碼並不能獲得商業利益,但事實上,所有的原始碼開放之後,都由自由軟體基金會統一負責維護,並不代表說開放了原始碼,使用者就可以無限制地使用它。開放原始碼並不代表放棄智慧財產權,任何人都可以拿這套原始碼修改之後自行使用,也可以公開,但條件是修改過後的原始碼必須要公開。而昇陽公司可以從別人修改過的原始碼來加強自己本身產品的功能,並且拿來販售。

也可以這麼說,自由軟體發展背後最大的動力來源是全世界的社群,而不是像微軟一樣,藉由龐大的商業利益來支撐自身產品的發展。

當然,自由軟體當初成立的目的,並不是因為免費,而是為了推動軟體技術的進步。微軟採取封閉原始碼的政策,使得每年產品的更新都只能依賴微軟。一般人不可能會碰觸到所謂的原始碼,當然一般人也不是每個都是軟體工程師,不會也沒有必要去碰觸原始碼。因此微軟的政策究竟是好還是壞,是見仁見智的問題。很明顯的,對於一般的使用者來說,微軟的產品還是他們最好的選擇。

另一個開放原始碼的產品是Netscape。因為微軟的強力競爭,使得Netscape不得不轉向自由軟體去發展,委託自由軟體基金會來幫助他們進行維護的工作,可以節省不少軟體開發的成本。目前已經有最新版本的Netscape Navigator 7.0可以自網路上下載試用,不過目前Linux版本最新只到6.2。

Netscape只有一種預設字型,就是Mandrake預設的fixed-16,相當地不好看。但是我們只要下面的檔案裡:

/usr/X11R6/lib/X11/app-defaults/Netscape

加進新的一行敘述:

*documentFonts.charset*big5.eten.3.10-1: x-x-big5

如此 Netscape 就能夠使用其他的字型了。

至於另外一個最常被討論到的Jmcce,因為在X-Window環境下的Gnome Terminal已經可以用xcin正確輸入並顯示中文了,因此就沒有必要用到,除非真的無法進入X-Window。網路上有人使用Gnome Terminal輸入中文,卻出現亂碼,因為我沒有同樣的問題,所以也許是因為安裝的過程中少了一些套件。

最後是列印中文的問題,Open Office已經可以正確印出中文,如果是堅持在純console模式下列印,需轉成Post-Script格式,但無法支援TTF字型。這當然也沒有必要,除非真的進不去X-Window。

關於Open Office或是Star Suit 6.0 的安裝與使用,下次有機會再談!


[Edited on 19/9/2002 by Kirk]

網友個人意見,不代表本站立場,對於發言內容,由發表者自負責任。
發表者
樹狀展開
:::

文章類別

展開 | 闔起

搜尋本站文章