BBS水木清华站∶精华区

发信人: ultrasparc (RISC), 信区: Linux        
标  题: RedHat7 中文化实战 
发信站: BBS 水木清华站 (Thu Dec 14 10:57:00 2000) 
 
标题  RedHat7 中文化实战 [张贴#: 61564 ] 
作者 jinux (stranger) 
时间 10/12/00 10:08 PM 
RedHat7.0 中文化实战 (v1.0) 
Jinux Kingbohr 
(jinux@0451.com) 
------------------------------------------------------------------ 
前言 
根据多位玩家在 China Linux Forum 发表的帖子, 经过两昼夜的反复实践, 
终于搞定了可爱的"小红帽",提出一套初步的中文化解决方案.本文未有发明, 
仅以安装过程之经验,供同挤相互印证. 
一 安装 RedHat Linux 7.0 
按照常规步骤安装 RedHat Linux 7.0. 笔者所用平台为 Sony VAIO F160 Laptop, 
PII300/64M/6.4G. 安装模式选择 Gnome WorkStation. 系统重要软件版本号如下: 
Kernel 2.2.16 
gcc 2.96 
gcc-c++ 2.96 
glibc 2.1.92 
XFree86 4.0.1 
Gnome 1.2.1 
二 控制台中文化 
利用 Unicon 3.0 实现控制台的中文化. Unicon 3.0 是 TurboLinux 公司利用 
Unicon 技术实现的 Linux 控制台国际化的解决方案. 通过终端帧缓冲方式实现 
多字节语种的显示与输入,支持 GB,GBK,BIG5,JIS,KSC 等编码. 
可以从 China Linux Forum 或 直接从 TurboLinux 公司的网站下载: 
http://www.linuxforum.net/ftp/update/unicon-3.0-release.tar.gz 
ftp://ftp.turbolinux.com.cn/pub/turbolinux/source/unicon/unicon-3.0-release. 
tar.gz 
安装 Unicon 3.0 需要修改 Linux 内核. Unicon 3.0 同时提供了 Kernel-2.2.17 
和 Kernel-2.4.0-test10 的内核补丁. 笔者选择了稳定内核 Kernel-2.2.17. 
最新的内核源代码可以在国内外很多站点得到,或者直接从以下网站下载: 
http://www.kernel.org/pub/linux/kernel/v2.2/linux-2.2.17.tar.gz 
1. 下载完毕后,将内核源代码包解压缩到 /usr/src 目录中: 
# cd /usr/src 
# tar zxvf /path/to/your/linux-2.2.17.tar.gz 
2. 为内核打上 Unicon 补丁: 
# cd /tmp 
# tar zxvf /path/to/your/unicon-3.0-release.tar.gz 
# cd /usr/src 
# gzip -dc /tmp/unicon-3.0/kernel-patches/unicon-kernel-2.2.17-1.patch.gz |  
patch -p0 -b 
3. 编译新内核: 
# cd /usr/src/linux 
# make mrproper 
# make xconfig 启动内核配置程序 
在内核配置菜单中以下选项前选择"Y": 
Code maturity level options 
+-Prompt for development and/or incomplete code/drivers 
Console Driver 
+-Support Frame Buffer Devices 
+-Unicon Support 
+-VESA VGA Graphics Console 
为了使 Linux 能够识别 Window 下中文文件名,应当选择核心支持中文 
代码页: 
Character Driver 
+-Native Langruage 
+-code 936(GBK) 
根据具体情况配置其它选项, 然后 Save configuration and exit. 
# make dep 
# make bzImage 
# make modules 
# make modules_install 
4. 新内核编译成功后,测试新内核是否运行 
# cp /usr/src/linux/arch/i386/boot/bzImage /boot/vmlinuz-2.2.17 
# cp /usr/src/linux/System.map /boot/System.map-2.2.17 
编辑 /etc/lilo.conf 文件将新内核的入口添加到引导记录里,并使之生效: 
#lilo -vi 
使用重新引导系统. 
5. 安装 GNU 可移植线程库 pth-1.3.7 
下载地址为 ftp://ftp.gnu.org/gnu/pth/pth-1.3.7.tar.gz 
# cd /tmp 
# tar zxvf /path/to/your/pth-1.3.7.tar.gz 
# cd pth-1.3.7 
# ./configure --prefix=/usr/local 
# make 
# make test 
# make install 
使新的库文件目录生效: 
# echo /usr/local/lib >> /etc/ld.so.conf 
# ldconfig 
6. 安装 Unicon-3.0 
虽然 Unicon 3.0 的编译过程很简单,但出于节省编译时间和节省存储空间的目的,可 
做 
少量修改。例如:Unicon 默认编译包含 GB,GBK,BIG5,JIS 和 KSC 编码,而实际使用时 
, 
有些编码却用不上.当然,是否全部编译还得由自己的情况而定. 
进入 unicon-3.0 目录,在 fonts 目录内,修改 Makefile.in 文件内容,将你不需要 
编 
译的字体前加上 # 号. 在 unicon/unicon 目录内,需在 ImmHzInput.cpp 和 UniKey. 
cpp 
的头部加入语句 #include . 在 tools 目录内,在 Makefile.in 中,去掉 
-V2.7.2.3, 将 CFLAGS 设成 CFLAGS = -O2 -Wall -I. 
# cd .. 
# ./confugre --prefix=/usr/local 
# make 
# make install 
# make data 
# make data-install 
7. 现在 unicon3.0 已经编译并安装完成, 为了在控制台下得到更 
好的显示效果, 修改 lilo.conf 文件, 例如 
image=/boot/vmlinuz-2.2.17 
label=k2217 
root=/dev/hda2 
read-only 
vga=771 //设置控制台的分辨率为800x600*16bit 
执行 lilo -v 使 lilo 生效. 
重新引导系统. 
执行 
# insmod unikey 
# insmod encode-gb 
# loadunimap /usr/lib/unicon/direct.uni 
# unicon --gb 
如果出现了蓝色的输入条,试试 Ctrl+Space 应该可以隐藏输入条, 再试试右面的shift 
 
键,应该可以出现智能拼音输入法提示,至此,已经完成了控制台的中文化. 
二 X-Window 中文化 
1. 配置中文 Locale 
RedHat 7.0 已经安装了支持中文的 Locale 在 /usr/lib/locale/zh_CN 下. 
编辑 /etc/sysconfig/i18n 配置文件,修改 LANG="en_US" 为 LANG="zh_CN.GB2312". 
编辑 /usr/lib/gconv/gconv-modules 文件,加入一行 
alias GB2312-1980// EUC-CN// 
使用 export LC_ALL=zh_CN.gb2312 启用中文 locale 支持. 
执行命令 date,看看有无变化? 月日等字还是乱码,但表示 Locale 已经生效了. 
# startx 进入X-Window, 应该可以看到"丑丑"的中文了. 
为在下一次自动进入中文支持状态,在你的主目录下 .bashrc 文件中加入: 
export LANG=zh_CN.gb2312 
export LC_ALL=zh_CN.gb2312 
2. 安装中文输入服务器 Chinput-3.01 
Chinput 是于明检先生开发的一个 X-Window 下支持 XIM 输入协议的中文输入 
服务器. 可以直接从其主页下载. 
http://go.163.com/~yumingjian 
Chinput 3.0 需要 Unicon 2.0 的输入法字典和库文件,可以同时从上址下载. 
# cd /usr/local/lib 
# tar zxvf /path/to/your/unicon2_im.tar.gz 将Unicon 2.0 解压缩到此目录 
# cd /usr/lib 
# ln -s /usr/local/lib/unicon2 unicon2 这是 Chinput 默认的 Unicon 2.0 的路径 
 
将 Chinput 3.0 压缩包解压缩 
# cd /tmp 
# tar zxvf /path/to/your/Chinput_3.0_release.tar.gz 
笔者要将其安装到 /usr/local 下, 所以要编辑 Chinput_3.0 目录下的文件 
'Makefile' 'src/Makefile' 'handwriting/Makefile' 中的 '/usr/bin' 
修改为 '/usr/local/bin'. 当然还应当修改库文件目录,这里我只是做了简单 
的链接. 
# cd /usr/local/lib 
# mkdir ZWinPro 
# mkdir dict/gb 
# cd /usr/lib 
# ln -s /usr/local/lib/ZWinPro ZWinPro 
# ln -s /usr/local/dict/gb /usr/dict/gb 
# cd /tmp/Chinput-3.0 
# make;make install 
由于 Chinput 需要 libstdc++-libc6.1-2.so.3,而 RedHat 7.0 的 compat-libstdc+ 

兼容库中只包含 libstdc++-2-libc6.1-1-2.9.0.so,需要手动建立一个库链接: 
# cd /usr/lib 
# ln -s libstdc++-2-libc6.1-1-2.9.0.so libstdc++-libc6.1-2.so.3 
3 . 配置 /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 的限制. 
在你的主目录中 .bashrc 文件加入一行 
export XMODIFIERS=@im=Chinput 
并重新登录,使其生效. 
4. 启动 X-Window, 打开一个终端, 在命令行输入 
# chinput & 
如果看到绿色的 [OK] 字样,说明 Chinput 已经工作了. 
用鼠标右键点击桌面左上角图标 "My Homw", 选择 "Preference", 可以看到 
一个弹出的属性菜单, 点亮 "My Home" 对话框, 再按 Ctrl+Space, 应当看到 
Chinput 的智能拼音输入条了, 试试能否包 "My Home" 改成中文? 
三 应用软件的安装与配置 
1. GEdit 的配置 
GEdit 本身已经支持 i18n 和 XIM. 
在命令行执行 
# gedit & 
在按 Ctrl+Space, 应该可以直接在 GEdit 中输入中文了! 
2 安装 rxvt-2.7.5 
首先卸载原有的 X-终端 
# rpm -e rxvt 
将下载的 rxvt-2.7.5 软件包解压缩,然后编译和安装, 
# cd /tmp 
# tar zxvf /path/to/your/rxvt-2.7.5.tar.gz 
# cd rxvt-2.7.5 
# ./configure --enable-everything --enable-languages --with-encoding=gb 
# make 
# make install 
然后编辑你的主目录下 .Xresource 文件, 增加以下几行: 
rxvt*foreground: grey 
rxvt*background: black 
rxvt*multichar_encoding: gb 
rxvt*font: 8x16 
rxvt*mfont: hanzigb16fs 
rxvt*scrollstyle: next 
重新启动 X-Window, 在命令行执行 
# rxvt & 
应该可以使用 Chinput 向其输入中文了! 
3. 安装 vim-5.7-6 
下载 vim-5.7-6.src.rpm 
# rpm -ivh /path/to/your/vim-5.7-6.src.rpm 
# cd /usr/src/redhat/SPECS 
修改 vim.spec 文件, 在所有的 %configure ...处加上 
--enable-multibyte --enable-fontset --enable-xim 
# rpm -ba vim.spec 重新 build RPM包. 
先删除原有的vim的RPM包 
# rpm -e vim-common 
# rpm -e vim-minimal 
安装新的RPM包. 
# cd /usr/src/redhat/RPMS/i386 
# rpm -ihv vim*rpm 
在你的主目录下的 .Xresource 文件中做如下的修改: 
Vim.font: hanzigb16fs,-*-fixed-medium-r-normal--16-*-iso8859-1 
Vim.fontSet: hanzigb16fs,-*-fixed-medium-r-normal--16-*-iso8859-1 
Vim.fontList: hanzigb16fs 
在 .gvimrc 文件中加入 
set guifontset=hanzigb16fs,-*-fixed-medium-r-normal--16-*-iso8859-1 
在 .vimrc 文件中加入 
set fileencoding=prc 
重新启动 X-Window, 在命令行执行 
# chinput & 
# rxvt & 
在 rxvt 终端中执行 
# gvim & 
应该可以输中文了.Chinput的输入条自动在gvim的最下端,加上光标的跟随输入, 
真是太棒了!! 
4. 安装 Xemacs 
下载相关的软件包. 
安装前先将xemacs-mule-sumo.tar.gz和xemacs-sumo.tar.gz解压缩到 
/usr/local/lib/xemacs 路径下. 
# cd /tmp 
# tar zxvf /path/to/your/xemacs-21.2.35.tar.gz 
# cd xemacs-21.2.35 
修改 lisp/mule/mule-init.el 文件中的 ("^zh" . "Chinese") 
为 ("^zh" . "Chinese-GB") 
# ./configure --with-mule --with-xim=xlib 
# make 
# make install 
重新启动 X-Window, 在命令行执行 
# chinput & 
# xemacs & 
怎么样? Linux 下最棒的文本编辑器,还需要多说甚么呢? 
5. 配置 Netscape 
RedHat 7.0 安装的是 Netscape 4.75, 其默认设置已经对 
中文有一定的支持了,只需在你的主目录下的 .Xresource 文件 
中加入下面的几行: 
Netscape*versionLocale: zh_CN 
Netscape*defaultCharset:gb2312 
Netscape*fontList:\ 
-adobe-helvetica-medium-r-*--14-*-*-*-*-*-*-*;\ 
-isas-*-*-*-*--14-*-*-*-*-*-*-*: 
Netscape*XmTextField.fontList:\ 
-adobe-helvetica-medium-r-*--14-*-*-*-*-*-*-*;\ 
-isas-*-*-*-*--14-*-*-*-*-*-*-*: 
Netscape*XmText.fontList:\ 
-adobe-helvetica-medium-r-*--14-*-*-*-*-*-*-*;\ 
-isas-*-*-*-*--14-*-*-*-*-*-*-*: 
Netscape*inputMethod: Chinput 
Netscape*preeditType: root 
以上配置可以很好地在 Netscape 中显示中文了,在 FORM 中的显示也 
很令人满意.最主要的是可以通过 Chinput 向其对话框中输入中文了!!! 
四 致谢 
感谢马军先生等提供了 Unicon 解决方案. 
感谢于明检先生等开发的 Chinput 中文输入服务器. 
感谢所有热心和致力于 Linux 国际化和中文化的开发人员和用户. 
感谢 China Linux Forum 中文化论坛的各位同好,本文直接和间接得益于 
他们的讨论和发表的文章. 仅列若干篇如下: 
1. RH7-Unicon3-tiny-HOWTO 作者: Wu Yulun 
2. REDHAT7+TrueType+Chinput3.0.1 HOWTO 作者: dircls 
3. RedHat7-Chinput3-tiny-HOWTO 作者: Wu Yulun 
4. RH7.0+KDE+Chinput3.0-1 作者: hucheng 
5. RedHat6.2中文显示与输入详细步骤 作者: moonlight 
6. Mandrake7.2中文化 作者: younker 
7. Mandrake中文化初探 作者: highsun 
8. Mandrake7.1下使用Chinput3.0(v0.02) 作者: sharc 
9. RH7 GVim5.7 中文输入 Tiny HOWTO 作者: yihan 
10.关于Netscape中文化的问题 作者: Wu Yulun 
Jinux Kingbohr 
 
-- 
 
※ 来源:·BBS 水木清华站 smth.org·[FROM: 211.69.205.2] 

BBS水木清华站∶精华区