一、機器配置
開始之前,我必須先要自報一下愛機的配置:PIII 450 + 128M Ram + 20G
HardDisk + Dimond V770 + Dimond S90。整個配置編譯過程足足花了我24個小時,其中編譯kernel,整個QT+KDE,Unicon Source花足了起碼22個小時。所以,各位fans的機器如果還低於這個配置的話,應該想象一下編譯這些sources所花的時間了。
二、關於這篇文章
我是在自己的機器上成功的漢化了RedHat,但我並不保證凡是看完這篇文章的朋友都能。本文只是一個參考。本文所需要的軟件包和補丁,你可以到我的主頁http://www.linuxorb.net下載。
三、漢化後的RedHat是個什麼樣子?
采用TurboLinux提供的Unicon 3.0加上內核提供的GBK code page,我們能夠得到一個支持中文編碼的內核,一個徹底的中文終端,還有Xwindows下中文文件名的支持。
采用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
# tar -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
#gunzip kernel-2.2.17.patch.gz
#patch -p0<kernel-2.2.17.patch
4、編譯內核
#cd /usr/src/linux
#make mrproper
#make menuconfig
Code maturity level options
+-Prompt for development and/or incomplete code/drivers
Console Driver
+-Support Frame Buffer Devices
+-Unicon Support
+-VESA VGA Graphics Console
File system->Native language support
+-Code page 936(GBK)
大多數情況下,我們的機器都是以單機方式運行的,所以在編譯內核時,我建議是夠用就好,比如說USB、SCSI、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 <string.h>
在 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
版本了。但是他還是相當的不完整,大家如果想加入這個計劃的話,可以到:http://www.cmpp.net看看。
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吧。