|
|
 |
|
把Chinput-2.1移植到Redhat6.2上的经验
作 者: wuyulun
Subject 在RH6.2中安装Chinput2.1,全文,请网友指教。
Posted by wuyulun
Posted on 4/19/2000 11:20 AM
RedHat 6.2 中文显示与输入的设置
Wu YuLun (migr@operamail.com) 2000/4
本文将介绍在 RedHat 6.2 中,设置中文显示和输入的方法。感谢网友 Rigel、
于明俭老师等给予的帮助。特别感谢于老师开发了Chinput中文输入软件,使在
Linux下可以方便的使用中文。RedHat 6.2 中分发的 XFree86-3.3.6 视窗软件
目前只支持中文点阵字库的显示,无中文 TrueType 字体的支持,要使用中文
TrueType 字体,可以选择 TurboLinux 中文版,或等到 RedHat 公司发布新的
包含 XFree86-4.0 的版本。希望大家能帮我找出文中的错误,交流经验,提供
更多的修改软件配置使其支持中文的方法。
升级到 RedHat 6.2
=================
升级到新的版本一般是获得一张新版CD,重新安装选择升级。但我个人则是从网
上下载到部分更新的软件包,自行升级的。如果你也是使用这种方法,则有些事
情需注意,若不是,可以忽略。必须更新的软件包。除了kernel,glibc和XFree86
等相关软件是必须更新的外(否则就不算是升级),还有些软件包包含了新的特性,
将会影响到系统的运行,所以必须更新。如:egcs-*, autoconf, automake, make
等。 在 XFree86 的更新中,xfs 需要特别注意:当你升级 XFree86-xfs 后,它
并不用新的配置文件替换旧的,而是将其保存为 .rpmnew 形式。应将
/etc/X11/fs/config.rpmsnew 改成 config,并重新使用 chkfontpath 命令重新
配置字体搜索路径。
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
下载后,以root身份,编译该源码包,由于本次的Glibc的发行版有所改动,旧的
场所数据可能用不了。步聚如下:
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
#
int main(void)
{
char *current_locale;
current_locale=setlocale(LC_ALL, "");
if(current_locale)
printf("Current locale: %s\n", current_locale);
else
printf("Doesn't support.\n");
return 0;
}
编译:gcc testlocale.c -o testlocale
执先:若支持,则显示场所名
另一种更简单的方法是呼唤一个命令,看是否locale起作用了,如 rpm -qi kernel
如果你看到显示结果的时间变成 ??y??m??d,那么locale已经生效了。
另外,关于/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
该命令指定当终端locale为 zh_CN.GB2312 时,X Windows 使用 zh_CN/XLC_LOCATE
为场所定义。
GTK工具集的资源文件的修改。在 /etc/gtk/gtkrc.zh_CN 文件中将所有的字体定义
改为:
fontset = "-*-*-medium-r-normal--16-*-*-*-*-*-iso8859-1,\
-*-*-medium-r-normal--16-*-*-*-*-*-gb2312.1980-0"
由于GTK自定义的字体描叙为14点阵象素的汉字,我个人认为很难看的,所有都改成
16点阵的象素了。不过,在设置桌面主题的时候,主题的资源定义与之有冲突,会
造成死机。所以在未修改主题定义前,请使用GTK的自定义主题,免得遇到麻烦。
修改完之后,可以试一试中文的显示了。我使用的是GNOME桌面的,启动 X 后,最
明显的改变是字体为16点阵的了,变得大了一些,如果你以前就是用这么大的字体,
那可能感觉不到。选择工具菜单中的 Text File Viewer 程序,打开一个中文文件,
无问题的话,就可以看到熟悉的中文了。
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的设置自启动的程序中加入chinput。
注:chinput 输入服务器,仅对支持 XIM 的软件有效,如果该软件支持这种输入
方式,敲入 ctrl-space 就会出现输入条,否则无任何显示。
其它软件的中文支持设置
======================
有些软件需要设置相应的资源文件,才能使用中文。
GNOME 菜单的汉化。对于GNOME,有些菜单项可以直接修改,而有些则需要源程序
才能修改,所以只能汉化一部分。
汉化GNOME的系统菜单项:
在 /usr/share/gnome/apps/ 下,有一些以 .desktop 为后缀的文件,打开该文件,
加入一行
Name[zh]=你想要的中文名
则可对相应的菜单项增加中文名,很容易,一看就会。GNOME的个人菜单项存放在
HOME 目录下的 .gnome/apps 目录里,形式相同。另外,也可以把 TurboLinux 中
的程序汉化包取过来用。是一些名字为“程序名.mo”的文件。
|
|
 |
|
|