歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
您现在的位置: Linux教程網 >> UnixLinux >  >> Unix知識 >> 關於Unix

漢化你的RedHat全攻略(1)-中文環境和中文輸入法的安裝

前言: 網上關於如何漢化RedHat的文章已經很多了,我寫這篇稿子的目的其實僅僅是一個總結,力求把他寫的詳細一點,以便每位看完這份稿子的朋友能夠自己動手享受中文. 感謝wuyulun在這段時間內對我的及時幫助. 感謝於明簡老師寫出Chinput. 感謝為中文locale做出貢 前言: 

網上關於如何漢化RedHat的文章已經很多了,我寫這篇稿子的目的其實僅僅是一個總結,力求把他寫的詳細一點,以便每位看完這份稿子的朋友能夠自己動手享受中文. 

感謝wu yulun在這段時間內對我的及時幫助. 

感謝於明簡老師寫出Chinput. 

感謝為中文locale做出貢獻的人 

憤恨及鄙視那些將linux的漢化技術作為賺錢秘密而秘而不宣的公司. 


本文提到的軟件包大家可以通過http://www.linuxorb.net下載,他們分別是: 


locale-zh-0.97.src.rpm - Linux中文環境文件.packaged by Wu yulun 


Chinput-3.0 - 中文輸入法. developed bu Yu Mingjian 


pth-1.3.7 - 可移植線程庫 


unicon2 - Chinput需要的表碼軟件包 


一.安裝中文環境 


1-1 確定glibc的版本 

這份locale-zh是for glib 2.1.3 (RH 6.2)的,因此如果你的glibc < 2.1.3,請升級他.如果你的glibc > 2.1.3,你可以到我的主頁下載相應的locale環境定義文件zh_CN,然後用lcoaledef來產生相應的中文環境.我的RH 是6.1版本的,於是我找到了一張RH6.2的CD,升級了下面幾個包: 

* egcs 

* egcs-c++ 

* libstdc++ 

* glibc 

* gtk* 

* XFree86 

make 

autoconf 

automake 

kernel 

( 注:打*的,你必須更新 ) 


1-2 安裝中文locale環境 

如果你使用的是RH 7,請到我的網頁下載zh_CN for glibc 2.2,然後用lcoaledef來產生相應的中文環境,(關於具體問題請參看Wu yulun的 如何在RedHat7.0中安裝Chinput3.0中文輸入法一文). 

安裝locale很簡單, 


rpm -ivh locale-zh-0.97.src.rpm 

- 會在/usr/src/redhat/SPECS 下產生一個locale-zh-0.97.spec, 


rpm -ba locale-zh-0.97.spec 

- 重建這個包.會在/usr/src/RPMS/i386 下產生一個相應的binary包,安裝它吧! 


他會生成3個環境定義 

zh_CN.GB2312 我們需要的就是這個 

zh_CN.BIG5 繁體中文環境 

zh_CN.GBK 作者說這個是他從TLC借過來,除了測試沒有什麼太大用處 


1-3 測試中文locale 

不必要寫個程序來測試了.很簡單的,首先 


export LC_ALL=zh_CN.GB2312 -設定中文環境 

輸入命令rpm -qi kernel,看看時間部分是不是由 *d-*m-*y => *y-*m-*d,如果沒有問題,說明locale-zh安裝成功. 


1-4 讓gnome支持中文 

修改 /usr/lib/X11/locale/locale.alias,加入一行: 


zh_CN.GB2312 zh_CN.eucCN 


該命令指定當終端locale為 zh_CN.GB2312 時,X Windows 使用 zh_CN/XLC_LOCATE 為場所定義。 


/usr/lib/X11/locale/目錄下沒有zh_CN/XLC_LOCALE,所以我們做一個連接就可以了: 


ln -s /usr/lib/X11/locale/zh/XLC_LOCALE /usr/lib/X11/locale/zh_CN/XLC_LOCALE 


修改 /etc/gtk/gtkrc.zh_CN 將所有的字體定義改為: 


fontset = "-*-*-medium-r-normal--16-*-*-*-*-*-iso8859-1, -*-*-medium-r-normal--16-*-*-*-*-*-gb2312.1980-0" 


采用16點的漢字,這樣會看起來舒服一點. 


這時,當你export LC_ALL=zh_CN.GB2312,startx後,若沒有問題就可以看到中文了。用gedit開一個中文文檔看看!! 


若你看到的中文是亂碼的話,可嘗試做以下的修改: 


確定你所使用的桌面主題,不同的桌面主題采用了自制了gtkrc文件,當使用這些主題的時候,GTK 並沒有從 /etc/gtk 中讀取 gtkrc 文件,所以需要對相應主題的 gtkrc資源配置文件增加中文字體描敘,使其可以正確的找到相應的中文字體。以 Default 為例,在 /usr/share/themes/Default/gtk 中會有一個 gtkrc 的文件,查看其內容,將其所有的字體描述改為/etc/gtk/gtkrc.zh_CN 那個樣子就行了。 


二.安裝中文輸入法Chinput 


2-1 安裝pth 

tar -zxvf pth-1.3.7.tar.gz 

./configure --prefix=/usr #以便pth lib被安裝在/usr/lib/ 

make 

make install 


2-2 安裝unicon 

將 unicon2-im 解到 /usr/lib 目錄下即可. 


2-3 安裝Chinput 3.01 

tar -zxvf Chinput-3.0.tar.gz 

拷貝Chinput-3.0-1.patch到Chinput 3.0目錄下 

patch -p1 < Chinput-3.0-1.patch #打3.0.1的補丁 

make 

make install 


修改 /usr/lib/ZWinPro/Chinput.ad 文件: 

由於 XFree86 沒有自帶的 BIG5 碼字體,若你不需要輸入 BIG5 碼字符, 

則對 Chinput.ad 做以下調整: 


... 

chinput.gblocale = zh_CN.GB2312 

chinput.big5locale = zh_CN.GB2312 


... 

chinput.gbfont = -*-*-medium-r-normal--16-*-*-*-c-*-gb2312.1980-0 chinput.big5font = -*-*-medium-r-normal--16-*-*-*-c-*-gb2312.1980-0 


注意:在 Chinput.ad 的字體定義中,不能出現空格,這是由於 Chinput 的限制。(應該使用Tab) 


由於 Chinput 需要 libstdc++-lib6.1-2.so.3,而 RedHat 的 compat-libstdc++ 兼容庫中只包含 libstdc++-2-libc6.1-1-2.9.0.so,則需手動建立一個庫鏈接: 


ln -s libstdc++-2-libc6.1-1-2.9.0.so libstdc++-libc6.1-2.so.3 


2-4 啟動Chinput 


讓你每次啟動xwindows的時候都有中文支持,修改你的.bashrc ,加入: 


export LC_ALL=zh_CN.GB2312 

export LC_LANG=zh_CN.GB2312 

export XMODIFIERS=@im=Chinput 


到此,linux的漢化基本完成,進入 X Windows 環境。選擇Run,輸入 chinput,中文輸入服務器就加載了。你可以打開一個支持vim的軟件(gedit),敲入 ctrl-space 就會出現輸入條. 


注:chinput 輸入服務器,僅對支持 XIM 的軟件有效,如果該軟件支持這種輸入 方式,敲入 ctrl-space 就會出現輸入條,否則無任何顯示。 


後記: 

以上是本人在XFree86 3.3.6+glibc 2.1.3上,安裝中文環境及中文輸入法的步驟,完全通過,如果各位還有什麼問題,請發信到[email protected]. 


下一章我將討論TrueType字體的使用. (待續) 

Copyright © Linux教程網 All Rights Reserved