1

6.2_中文显示与输入的设置_RedHat

来源:网络 作者:青田花姑娘 0

6.2_中文显示与输入的设置_RedHat

(migr@operamail.com);2000/4; 本文将介绍在;RedHat;6.2;中,设置中文显示和输入的方法。感谢网友;Rigel、于明俭老师等给予的帮助。特别感谢于 老师开发了;Chinput;中文输入服务器软件,使在;Linux;下可以方便的使用中文。; 存在于;RedHat;6.2;中的;XFree86-3.3.6;视窗系统字体解释器freetype对中文TrueType字体的解释效果不太好,但在 XFree86-4.0;中新增的;xtt;组件会得到更好的视觉效果。; 由于我对;Linux;了解尚浅,错误难免,请大家能及时指出。并希望大家能提供更多的中文化软件的方法与技巧。; 升级到;RedHat;6.2; 升级到新的版本一般是通过获得一张新版CD,重新安装时选择升级完成的。但我个人则是从网上下载到部分更新的软件包, 自行升级的。如果你也是使用这种方法,则有些事情需注意,否则,可以忽略本节。; 升级可按照:系统核心、基本C函数库、库连接工具、X视窗系统、X高级控件库、桌面系统的顺序进行。当需要编译软件时, 升级相关编译程序和库开发包。; 在;XFree86;的更新中,使用;xfs;的用户需要注意:当你升级;XFree86-xfs; 后,它并不使用新的配置文件替换旧的,而是将其保存为;.rpmnew;形式。所以应将; /etc/X11/fs/config.rpmsnew; 改成;config,并重新使用;chkfontpath; 命令重新配置字体搜索路径,因为新的配置文件会有时会包含某此些重要的选项。若不使用;xfs;字体服务器,则直接修改 /etc/X11/XF86config;文件,加上你所使用的字体描叙即可。; Locale;的设置; 由于在;RedHat;的;Glibc;2.1.3;中未包含;zh_CN.GB2312,需从台湾的Linux;中文扩展项目的; ftp;网站获取中文GB2312;场所的源码包。下载地址如下:; ftp://cle.linux.org.tw/pub/CLE/SRPMS/SRPMS/; locale-zh-0.9.src.rpm;<==;目前的版本,包含;GB;和;BIG5; 注:若无法连接台湾的站点,可到我的主页下载。我制作了一个locale数据包,包含CLE项目的gb2312,; big5和TLC的gbk编码。; 下载后,以;root;身份,编译该源码包(请务必重新编译,旧的数据包将无法使用)。步聚如下:; rpm;-ivh;locale-zh-0.9.src.rpm; 该命令将源码包安装在;/usr/src/redhat/;目录下,进入;SPECS;子目录,输入; rpm;-ba;zh-localedata.spec; 建立;RPM;包。如果无问题的话,生成的;RPM;包在;RPMS/i386;目录下,可以把它保存起来,可供以后使用。在SRPMS;下, 生成一个新的源码包,不需要可删除。安装;locale:; rpm;-Uvh;locale-zh-0.9.i386.rpm; 安装完,设置使用该场所,以;bash;为例:; export;LC_ALL=zh_CN.GB2312; 使用;locale;命令可以看到所有的;LC_*;变量都换过来了,检查该;locale;是否有效。有两种方法,一是使用;glibc;的 setlocale(LC_ALL,;"");函数来检测,检测程序如下:; testlocale.c;清单; -----------------; #include; #include; int;main(void); {; char;*current_localecurrent_locale=setlocale(LC_ALL,;"")if(current_locale); printf("Current;locale:;%sn",;current_locale)else; printf("Doesn"t;support.n")return;0}; 编译:gcc;testlocale.c;-o;testlocale; 执行:若支持,则显示场所名; 另一种更简单的方法是呼唤一个命令,看是否;locale;起作用了,如;rpm;-qi;kernel;如果你看到显示结果的时间变成????y??m??d,那么;locale;已经生效了。; 通过了上面的任一种测试,可说明;glibc;已本地化了。; 另外,可以在;/usr/share/locale/locale.alias;文件中定义;locale; 的别名,该别名可以有助于记忆,如在该文件中加入一行为:; china;zh_CN.GB2312; 然后使用;export;LC_ALL=china;则完成与上一种方法相同的功能,而且更直观。为了在以后登录后就使用中文的locale, 可以将此命令加入到你的;HOME;目录的;.bashrc;文件中。; 接下是就是有关;XLC_LOCALE;的设置了。在;/usr/lib/X11/locale/locale.alias;文件加入一行:; zh_CN.GB2312;zh_CN.eucCN; 到此,glibc;和;Xlib;的;locale;就配置完成了。; Chinput;的安装; 自从于明俭老师在他的;Chinput;中文输入服务器软件中加入了;XIM;支持,遵从;Linux;国际化标准,使得我们可以在任何 遵守国际化标准的;Linux;产品中输入中文了。该软件可以从他的主页下载。; http://www.turbolinux.com.cn/~justiny/download/chinput-2.1.tar.gz; 下载后,解开该文件:tar;-xvzf;chinput-2.1.tar.gz; 解开后,再对源码作一点点改动。进入;Chinput-2.1/src;里,使用你喜欢的编辑器,打开;chinput.c; 文件,查找;GBK字样,将其改为;GB2312。再查找; system("/usr/bin/zwincontrol;&")语句,将其取消(在前面加上;//;),该语句是启动;ZWinPro;汉化平台的工具条的,chinput;的包里没有。; 修改完后,回到;Chinput-2.1;目录下,执行;make;建立该软件。软件的安装请参阅其自带的文档。; 安装完成后,可以尝试中文输入了。进入;X;Windows;环境。选择;Run,输入; chinput,中文输入服务器就加载了。调用一个支持;XIM;输入的程序,如;gedit,输入几个汉字试试,很好用。; 为了能在下次进入;GNOME;时自动启动输入服务器,可在;GNOME;Control;Center;的;Startup;Programs;项目中加入chinput。; 注:chinput;输入服务器,仅对支持;XIM;的软件有效,如果该软件支持这种输入方式,敲入;ctrl-space;就会出现输入条, 否则无任何显示。; 应用软件的中文支持设置; GTK;1.2; 修改;GTK;工具集的资源文件。在;/etc/gtk/gtkrc.zh_CN;文件中将所有的字体定义改为:; fontset;=;"-*-*-medium-r-normal--16-*-*-*-*-*-iso8859-1,; -*-*-medium-r-normal--16-*-*-*-*-*-gb2312.1980-0"; 由于;GTK;自定义使用14点阵象素的字体,而;Xfree86;仅带中文16点阵字体,所以需要将所有的字体尺寸描途改为16。 另外在;TurboLinux;中带有一个中文字体包;hz-pcfs,其中包含14,16,24点阵的中文字体,可取过来使用。; 修改完之后,可以试一试效果了。我使用的是;GNOME;桌面,启动;X;后,选择工具菜单中的;Text;File;Viewer程序, 打开一个中文文件,无问题的话,就可以看到熟悉的中文了。另外,目前最出的;GNOME;1.2; 的桌面系统,升级了;GTK,增加了更多的中文提示信息,很好用,值得一试。下载网址:; http://www.helixcode.com。; 假若你看到的中文是乱码的话,可尝试做以下的修改。确定你所使用的桌面主题,不同的桌面主题采用了自制了gtkrc;文件, 当使用这些主题的时候,GTK;并没有从;/etc/gtk;中读取;gtkrc;文件,所以需要对相应主题的;gtkrc资源配置文件增加中文 字体描叙,使其可以正确的找到相应的中文字体。以;Default;为例,在;/usr/share/themes/Default/gtk;中会有一个;gtkrc; 的文件,查看其内容,将其所有的字体描述改为像;/etc/gtk/gtkrc.zh_CN;那个样子就行了。; Qt;1.44; 关于;qt;1.44;高级控件集的中文设置问题,我还不清楚;:(; GNOME; 对于;GNOME,有些提示项可以直接修改,而有些固化词条(stock;item)则需要;GNOME;libs;本身对中文信息支持, 所以修改;.desktop;文件是一件最简单的方法。(若对;GNOME;信息中文化有兴趣,可联系gnome;开发组,帮助完成中 文翻译工作。); 汉化;GNOME;的菜单项:; 在;/usr/share/gnome/apps/;下,有一些以;.desktop;为后缀的文件,打开该文件,加入一行; Name[zh]=你想要的中文名; 则可对相应的菜单项增加中文名,很容易,一看就会。GNOME;的个人菜单项存放在;HOME;目录下的;.gnome/apps目录里, 形式相同。; Netscape; FIXME:;Netscape; 的中文设置还没完成,暂时只给出一些简单的配置供参考。效果:只能在netscape的控件中输入和显示中文,在页面显 示区的form控件中只能输入,不能显示:(; 将以下几行加入到;home;的;.Xdefaults;文件中; !!!!!!!!!!!!!!!!!!!!!!; !!!!;For;Netscape;!!!!; 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; 网络资源; www.linuxforum.net;中国Linux论坛; www.turbolinux.com.cn/~justiny/;于明俭的主页,关于;Chinput;的资料。;