將RedHat 7.0的漢化進行到底 Unicon 3.0 中文顯示 (轉)

worldblog發表於2007-12-08
將RedHat 7.0的漢化進行到底 Unicon 3.0 中文顯示 (轉)[@more@]將 7.0的漢化進行到底(一)

--------------------------------------------------------------------------------

小豬豬  2000-12-21 14:23:27 

作者:Bigluo (bigluo@china.com)



一、機器  
  開始之前,我必須先要自報一下愛機的配置:PIII 450 + 128M Ram + 20G
HardDisk + Dimond V770 + Dimond S90。整個配置編譯過程足足花了我24個小時,其中編譯kernel,整個QT+KDE,Unicon 花足了起碼22個小時。所以,各位fans的機器如果還低於這個配置的話,應該想象一下編譯這些sources所花的時間了。

二、關於這篇文章
 我是在自己的機器上成功的漢化了RedHat,但我並不保證凡是看完這篇文章的朋友都能。本文只是一個參考。本文所需要的包和,你可以到我的主頁。

三、漢化後的RedHat是個什麼樣子?
 採用TurboLinux提供的Unicon 3.0加上核心提供的GBK code page,我們能夠得到一個支援中文編碼的核心,一個徹底的中文終端,還有X下中文名的支援。
 採用glibc-2.2,我們可以得到更好的中文locale支援。
 採用XFree86 4.01,我們可以得到更多的支援和TrueType字型的支援。
 採用Qt-2.2.2 + codec patch + vim patch能夠讓KDE比較完美的支援中文顯示和中文輸入。
 採用KDE-2.01,我們能夠得到一個比Win 98還漂亮的桌面環境。
 採用cxterm得到中文的xterm。

四、RedHat 7.0的中文locale的問題
 RedHat 7.0採用的glibc-2.1.96,對中文的支援已經是很好了。我們僅僅需要修改 /usr/lib/gconv/gconv-modules ,加入一行:

alias GB2312-1980// EUC-CN//

把LC_ALL環境變數export為Zh_CN,zh_CN.GB2312,zh_CN.GBK都可以支援簡體中文。如果你做了上面的修改,啟動到Gnome環境,看看Gnome是不是能夠支援中文。最明顯的是Gnome桌面的時鐘變成中文的了。

五、重新編譯核心
 RedHat 7.0所使用的核心是2.2.16,Unicon 3.0有Kernel 2.2.17和kernel 2.4.0test10的補丁,我使用的是kernel 2.2.16 + kernel 2.2.17-patch。如果你採用kernel 2.4test10 + kernel 2.4test10-patch,最後效果可能會更好一點。方法和本文介紹的類似。

1、下載Unicon-3.0release.tar.gz,並解包。
# cp unicon-3.0release.tar.gz /tmp
# -zxvf unicon-3.0release.tar.gz

2、確定安裝了kernel-source,若沒有,安裝上。
# rpm -Uvh kernel-source*

3、取出其中相應的kernel patch,並給kernel打補丁。
#cp /tmp/unicon-3.0/kernel-patch/kernel-2.2.17.patch.gz /usr/src
#cd /usr/src
#gunzkernel-2.2.17.patch.gz
#patch -p0
4、編譯核心
#cd /usr/src/linux
#make mrproper
#make menuconfig

Code maturity level options
+-Prompt for development and/or incomplete code/s

Console Driver
+-Support Frame Buffer Devices
+-Unicon Support
+-VESA VGA Graphics Console

File system->Native language support
+-Code page 936(GBK)

大多數情況下,我們的機器都是以單機方式執行的,所以在編譯核心時,我建議是夠用就好,比如說、、ISDN這些裝置如果你沒有的話,就可以不選了,Network driver這一項,大多數情況下,我們也只需要把PCI n2k或者是ISA n2k選上就可以了,其他的可以統統不要。

#make dep
#make bzImage
#make modules
#make modules_install

如果沒有問題的話, /usr/src/linux/arch/i386/boot/下面會產生一個bzImage,這就是新核心了。

5、使用新核心開機
#cp /usr/src/linux/arch/i386/boot/bzImage /boot

編輯/etc/lilo.conf,加入:

image=/boot/bzImage
vga=771
label=zhLinux

注意:vga=771,771表示使用幀緩衝:256色,800x600解析度。其它的顯示模式參見下表:



640x480 800x600 1024x768 1280x1024

256 769 771 773 775

32K 784 787 790 793

64K 785 788 791 794

16M 786 789 792 795



#lilo
#reboot

然後選擇新核心開機。

六、編譯安裝Unicon 3.0

1、我不確定unicon 3.0是不是需要pth的支援,反正到時候安裝chinput的時候也需要它,就先把它安上再說。前一段時間有網友來信詢問編譯pth時遇到這樣那樣的問題,現在終於有了pth的rpm4包。安裝pth-1.37-2.i386.rpm:

#rpm -Uvh pth-1.37-2.i386.rpm

2、由於 Unicon 包含核心,所以要做一下核心的。要不然當你以後再編譯一些第三方核心模組時會出問題的。

# cd /usr/include
# mv linux linux.old
# ln -s /usr/src/linux/include/linux linux

3、我們還需要一些改動一下Unicon 3.0的原碼,因為有些編譯記號和標頭檔案的錯誤。 在 unicon/unicon 目錄內,需在 ImmHzInput.cpp 和 UniKey.cpp 的頭部加入語句 :

#include

在 tools 目錄內,在 Makefile.in 中,用 CFLAGS += -V2.96 -I, 替換掉原來的CFLAGS標記。

4、然後開始編譯 Unicon。

# cd /tmp/Unicon-3.0
# ./confugre --prefix=/usr/local
# make
# make install
# make data # make data-install

5、測試

# insmod unikey
# insmod encode-gb
# loadunimap /usr/local/lib/unicon/direct.uni
# unicon --gb

沒有問題的話,就可以看到下方的輸入條了。
#export LC_ALL=zh_CN.GBK
#date
你應該看到中文日期了吧!

6、讓開機時自動啟動Unicon

修改/etc/rc.d/rc.local,把下面的這段程式碼加到最後:

#Start UNICON support
insmod unikey
insmod encode-gb
loadunimap /usr/local/lib/unicon/direct.uni
/usr/local/bin/unicon --gb

這樣的話,每次開機Unicon都會自動啟動了。

七、使用中文man pages

1、cman是中國linux談論推出的一箇中文man pages計劃,如今已經有它的0.2
版本了。但是他還是相當的不完整,大家如果想加入這個計劃的話,可以到:看看。

2、解包
#cp cman-0.0.2-alpha.tar.gz /tmp
#tar -zxvf cman-0.0.2-alpha.tar.gz

3、安裝cman
#cd /tmp/cman
#./install.sh

4、重新登陸
#Ctrl+d

5、測試cman
#cman socket

看看現在的中文socket man page吧。              (待續)



來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/10752043/viewspace-989777/,如需轉載,請註明出處,否則將追究法律責任。

相關文章