让Redhat Linux直接显示中文
相信即使对英文非常好的朋友来说,也更习惯看中文。值得高兴的是,经过许多人的努力,Linux对中文的支持也越来越好了。例如我使用的Red Hat 6.2,未借助任何补丁,仅仅通过一些设置,就能够在菜单、标题栏等位置直接显示中文。相信其他Linux发行套件通过类似的设置,也能够显示中文。
下面,我以Red Hat 6.2版本为例简单说明一下设置的步骤。
1.确定自己使用的是何种版本的libc
libc 是GNU C 函数库,有libc 5和libc 6。早期的 Linux 发行套件,大多是采用libc 5 例如 Slackware ,目前几乎所有的发行套件都升级到libc 6,也就是glibc 2,基本上可以正常处理中文了。如果在/lib目录下有libc.so.6文件,可以确定libc的版本是 glibc 2,否则你的libc版本太旧,建议你立即升级到最新的glibc 2.2,升级方法可以参考glibc 2的HOWTO。
2.检查字体的安装
要显示中文当然要有中文字体,在Shell下敲入如下指令:
$ xlsfonts | grep gb
-isas-fangsong ti-medium-r-normal--0-0-72-72-c-0-gb2312.1980-0
-isas-song ti-medium-r-normal--0-0-72-72-c-0-gb2312.1980-0
hanzigb16fs
hanzigb16st
如果有类似以上的结果输出,那么说明系统中已经安装了我们所需的简体汉字的字库,可以直接进行下一步的设置;如果没有输出,则我们要另外安装字体,可以到网上下载GB字库并安装。Red Hat Linux 6.2已经内置了宋体和仿宋体两种字库,无需另外安装。
3.定义区域语言设置
在/usr/share/locale下存放的是系统不同地区的语言设置,我们可以看到有个zh_CN.GB2312目录,但下面却没有必要的信息,我们可以到/usr/share/i18n目录下,这里分别存放了各种语言的代码、变换信息等,我们需要找到charmaps/GB2312、locales/zh_CN.GB2312和repertoiremaps/charids.894这三个文件,但由于2.1版本的glibc对双字节文字的支持还不完善,我们要对zh_CN.GB2312文件进行修改。这是一个文本文件,首先将第二行用“%”注释起来,然后也是比较繁琐的一步,将文件中LC_MONETARY,LC_TIME,LC_MESSAGES的定义改为英文,如下:
LC_MONETARY
cp from en_DK
END_MONETARY
修改好后,运行如下命令:
$ localedef -i zh_CN.GB2312 -f GB2312 -u charids.894 zh_CN.GB2312
系统将在/usr/share/locale/zh_CN.gb2312目录下生成区域设置,细心的读者一定注意到gb是小写了吧,这并不是我搞错了,事实就是如此;我们还要把相应的内容移动到zh_CN.GB2312目录下。
$ mv zh_CN.gb2312/ zh_CN.GB2312
4.修改系统编码变换设置,告诉系统如何将汉字编码转换为系统内部码
在/usr/lib/gconv/gconv-modules文件中查找EUC-CN字符串,大约在880行的位置,确认其中有一行GB2312的信息,如下第三行所示:
# from to module cost
alias EUCCN// EUC-CN//
alias GB2312// EUC-CN//
alias CN-GB// EUC-CN//
module EUC-CN// INTERNAL EUC-CN 1
module INTERNAL EUC-CN// EUC-CN 1
5.XFree86设置
/usr/X11R6/lib/X11/locale是XFree86存放区域信息的目录,其中zh/XLC_LOCALE文件就是中文字体集信息,我们在locale.dir文件中加入下面一行:
zh/XLC_LOCALE zh_CN.GB2312
当然比较好的习惯是,新建一个zh_CN.GB2312的目录,将zh/XLC_LOCALE文件拷贝到该目录下,而locale.dir相应改为:
zh_CN.GB2312/XLC_LOCALE
zh_CN.GB2312
6.环境变量的设置
万事俱备,只欠东风。我们只要告诉系统使用中文的区域设置,在Shell下输入如下设置命令:
$ LANG=zh_CN.GB2312
OK,现在重新进入X-Window系统,你应该可以看到熟悉的中文了!是不是很酷啊?
值得一提的是,新发行的KDE 2.0 和GNOME1.2都提供了比较完整的中文信息,赶快升级吧!
发布人:netbull 来自:奥索网