Linux中文化之将RedHat7.0的汉化进行到底
作者:Bigluo一、机器配置
开始之前,我必须先要自报一下爱机的配置: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
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
八、TrueType字体的使用
1、前面已经说过了中文locale的问题,所以就直接开始TrueType字体部分。很抱歉,我仅仅只用过Win98 SE和Win me的simsun.ttf字体。别的字体是不是也可以,我还不知道!据说英文IE5.5中的mssong.ttf也可以很好的被支持。开始前,请先关掉xfs。
#setup
#system service->xfs->去掉前面的*
2、得到TrueType字体
# mkdir /usr/X11R6/lib/X11/fonts/TrueType
# cp windows/fonts/simsun.ttf /usr/X11R6/lib/X11/fonts/TrueType
# cd /usr/X11R6/lib/X11/fonts/TrueType
# ttfmkfdir>fonts.dir
我获得的fonts.dir如下:
4
simsun.ttf -misc-SimSun-medium-r-normal--0-0-0-0-p-0-ascii-0
simsun.ttf -misc-SimSun-medium-r-normal--0-0-0-0-p-0-fcd8859-15
simsun.ttf -misc-SimSun-medium-r-normal--0-0-0-0-p-0-iso8859-15
simsun.ttf -misc-SimSun-medium-r-normal--0-0-0-0-p-0-iso8859-1
修改为:
simsun.ttf -misc-SimSun-medium-r-normal--0-0-0-0-p-0-ascii-0
simsun.ttf -misc-SimSun-medium-r-normal--0-0-0-0-p-0-fcd8859-15
simsun.ttf -misc-SimSun-medium-r-normal--0-0-0-0-p-0-gb2312.1980-0
simsun.ttf -misc-SimSun-medium-r-normal--0-0-0-0-p-0-iso8859-1
#cp fonts.dir fonts.scale
3、修改/etc/X1/XF86Config-4, 找到Section "Files"段,加入字体搜索路径, 并注释掉FontPath "unix/:7100:
Section "Files"
#FontPath "unix/:7100"
FontPath "/usr/X11R6/lib/X11/fonts/local/"
FontPath "/usr/X11R6/lib/X11/fonts/misc/"
FontPath "/usr/X11R6/lib/X11/fonts/75dpi/:unscaled"
FontPath "/usr/X11R6/lib/X11/fonts/Type1/"
FontPath "/usr/X11R6/lib/X11/fonts/Speedo/"
FontPath "/usr/X11R6/lib/X11/fonts/75dpi/"
FontPath "/usr/X11R6/lib/X11/fonts/TrueType/" <--TrueType字体的路径
EndSection
在Section "Module" 段中加入xtt解析:
Section "Module"
Load "GLcore" Load "dbe"
Load "dri" Load "extmod"
Load "glx" Load "pex5"
Load "record" Load "xie"
Load "v4l"
Load "xtt" <--加入这一行
EndSection
4、为了让Gnome支持新的TrueType字体,修改/etc/gtk/gtkrc.zh_CN:
style "gtk-default-zh-cn" {
"-misc-SimSun-medium-r-normal--12-0-0-0-p-0-*-*"
}
KDE本身提供了字体选择,稍候我们再详细的说。这样的话,当你设定好中文环境变量以后,就可以在Gnome看到TrueType字体了。
九、Chinput 3.01的安装
1、为了省略编译出错的麻烦,我们可以尽量采用i386.rpm包,前面我已经介绍了pth包的安装,如果你当时没有安装,安装之。我的网站收录了Wuyulun做的Chinput 3.01的 rpm4软件包,下载回来。安装之。同时请下载unicon2-im.tar.gz
#rpm -ivh Chinput-3.0.1-1.i386.rpm --nodeps
#cp unicon2-im.tar.gz /usr/lib
#cd /usr/lib
#tar -zxvf unicon2-im.tar.gz
#rm unicon2-im.tar.gz
2、安装好上面的这些软件包后,还需要一些修改:
#cd /usr/lib
#ln -s libstdc++-2-libc6.1-1-2.9.0.so libstdc++-libc6.1-2.so.3
并且保证/usr/lib/ZWinPro/Chinput.ad 的相关部分是下面的样子:
...
chinput.gblocale = zh_CN.GBK
chinput.big5locale = zh_CN.GBK
...
chinput.gbfont = -*-*-medium-r-normal--16-*-*-*-c-*-gb2312.1980-0 chinput.big5font = -*-*-medium-r-normal--16-*-*-*-c-*-gb2312.1980-0
3、为了让每次登陆的时候都是中文环境,修改 ~/.bashrc 文件,在末尾加上下面的语句:
export LC_ALL=zh_CN.GBK
export LANG=zh_CN.GBK
export XMODIFIERS=@im=Chinput
把环境变量LC_ALL和LANG设置成zh_CN.GBK是为了让Gnome和KDE都能比较好的支持中文。
4、重新登陆,看看你的Gnome是不是能够支持中文输入了。(打开gedit,按下Ctrl+空格,看看是不是有输入条出现)。此时,KDE还是不能支持中文显示和输入。