汉化你的RedHat全攻略- 中文环境和中文输入法的安装
2005-04-15 11:32:32 来源:WEB开发网核心提示:前言: 网上关于如何汉化RedHat的文章已经很多了,我写这篇稿子的目的其实仅仅是一个总结,力求把他写的详细一点,以便每位看完这份稿子的朋友能够自己动手享受中文. 感谢wu yulun在这段时间内对我的及时帮助. 感谢于明简老师写出Chinput. 感谢为中文locale做出贡献的人 愤恨及鄙视那些将linu
前言:
网上关于如何汉化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上,安装中文环境及中文输入法的步骤,完全通过,如果各位还有什么问题,请发信到bigluo@china.com.
下一章我将讨论TrueType字体的使用. (待续)
网上关于如何汉化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上,安装中文环境及中文输入法的步骤,完全通过,如果各位还有什么问题,请发信到bigluo@china.com.
下一章我将讨论TrueType字体的使用. (待续)
更多精彩
赞助商链接