Linux 版 (精华区)

发信人: cliff (狗皮膏药), 信区: Linux
标  题: Redhat中文解决方案Ver0.2
发信站: 紫 丁 香 (Tue Feb 22 14:29:40 2000) WWW-POST


Redhat中文解决方案Ver0.2 
蓝森林 http://www.lslnet.com 99年9月8日 20:42

作 者: iamin 
     好象大家目前都比较关心Linux的中文处理,前段时间我一直也在忙着试用各种有关
的软件,解决自己的中文使用问题,小有收获,上次已经把一点经验写出来作为V0.11版,这
段时间我对原来的方案作了比较大的修改,自认为比以前要完善一些,这次写了个Ver0.2供
大家参考. 不过现在中文的Linux(Xterm Linux/Turbo Linux等等)呼之欲出,希望他们能
一劳永逸的解决这个问题,这样也许以后我就可以休息了 :-)因为V0.11和V0.2采用的是两
种不同的中文包装方案,所以在这篇文章里我同时列出了两个方案的对比,请不要搞混淆了
.
------------------------------------------------------------------------------
--
 
v0.1 说明 :1999/2/26 

Redhat中文解决方案第一个版本,介绍我所使用的Redhat中文方案.

v0.11 修改说明 :1999/2/27 

1 增加安装步骤中.inputrc文件的说明.

2 提供KDE1.1 RPM,CXwin,Xa-104等提到的软件的下载地址.

3 增加KDE安装简要说明.

v0.2 修改说明 :1999/3/15

1 改用chinput作为中文输入服务器和中文包装.不需要中文X服务器,这样可以不再限定于
Xfree3.3.2了,并且支持GB/BIG5/JIS/韩文码的同屏显示转换.

2 增加在线英汉字典的介绍,安装和使用说明.

3 修改V0.11中出现的关于KDE语言选择中的输入错误.

4 修改包装netscape的方法.

5 修改启动脚本中xcin的执行方法(v0.11有错误).

6 给出所有提到的软件详细下载地址列表和文件大小说明.提供所需中文简繁X字体的下载
链接.

7 修改版权和感谢一节部分内容.


------------------------------------------------------------------------------
--

一.所用的硬件配置:

k6-233+华硕v3000显卡+64M SDRAM+15"MAG+GVC33.6K+NE2000兼容网卡+SPV586A主板+4.3G
钻四+24X三星光驱

二.软件环境

V0.11解决方案下:

系统为Win98+Redhat Linux 5.1其中Redhat为D版的,双光碟,自带cxterm,Xcin,浏览器升
级为netscape 4.08 (自带的为4.05)桌面管理器为KDE1.1 Xwindow服务器为XF86 3.3.2.
采用CXWIN0.5作中文X服务器,XA1.04作中文包装.

V0.2解决方案下:

系统为Win98+Redhat Linux 5.1其中Redhat为D版的,双光碟,自带cxterm,Xcin,浏览器升
级为netscape 4.08 (自带的为4.05)桌面管理器为KDE1.1或gnome1.0, Xwindow服务器为
XF86 3.3.2,采用Chinput1.4作为中文输入服务器和中文包装方案.不再采用Cxwin0.5作为
中文X服务器,所用字库为国人自制的一个中文字体包装,包括字体,在线英汉字典为xcdict
和edict,GB/BIG5内码转换工具为hc-30和HZ-2.0.

三.选用说明:

V0.11解决方案下:

1.采用Redhat能减少一些编译上的麻烦,自带软件包比slackware丰富.

2.cxterm必备,一方面可以在Xwin下上BBS比较方便,另一方面,其它不少中文输入服务器需
要的它的中文输入法. 

3.Xcin原来是为crxvt设计的中文输入服务器.但如果xwin软件经xa包装后,一般都可以输
入中文而无须修改xwindow程序,而像chinput和zhxwin由于安装程序不够完善,一方面需要
编译,另一方面要使用它还得修改字库,字体,修改编译头文件,初学者一般都感到麻烦,我
写出来出也挺麻烦...:-)所以就选用xcin,况且它的联想功能也比chinput强. 

4.桌面管理器的种类很多,我觉得KDE比较容易上手,界面也很漂亮适用,最特别的是它提供
了简体中文的界面插件,如果X服务器支持中文(解决窗口的桌单的中文问题)在一般的
x-term上也可直接显示中文.

5.目前能找到比较好的中文x服务器为cxwin,在网络工作室下载的cxwin0.5只支持
XF863.3.2的X服务器.如果是3.3.3还不知道是否可用,要想界面中文化,必备.CXwin0.5只
支持GB中文.

V0.2解决方案下的补充和修改:

1.使用chinput1.41作为中文输入服务器和中文包装.因为上次写的时候我拿到的chinput
不全,很多功能不能使用,所以选用了Xcin+Xa.后来我找到了chinput作者所完成的几个软
件包,试用之后发现chinput除了输入时的联想功能不够强和在部分KDE程序(如knote)里不
能输入完整的汉字外,在兼容性,实用性和配置功等其他方面的确相当不错,所以这一次改
向大家推荐采用Chinput.

2.Chinput的功能较强兼容性也比较好,因此不再需要Cxwin0.5作为X服务器,直接对startx
脚本进行中文包装就可以使桌面管理器支持中文.这样如果你没有采用XFree86 3.3.2作为
X服务器(如Xfree3.3.3/AX4.1),也能使用我所写的方案了.而且大多数情况下可以支持特
定窗口和软件的GB/BIG解码转换和取消包装,比cxwin方便很多.

3.最近gnome也出了期待以久的1.0版,现在有了RPM包装的下载,大家也可以采用gnome作为
桌面管理器,,不比KDE差(不过它不能像KDE那样选择界面的语言为简体中文).其实这个方
案可以对几乎所有的X服务器和桌面管理器进行中文包装.

四.文中提到的各项软件的下载地址

(注意这些链结不一定永远有效,如果有所改动请自行寻找)

 软件名称 下载地址 大小 类型 
chinput1.41 ftp.openunix.org/pub/chinese/chinese_gb/system/Chinput-1.4.1-linux
.tar.gz (要对源码稍作修改,见下文) 2.84M gz 
chinput1.41 ftp.openunix.org/pub/chinese/chinese_gb/RPMS/chinput-1.4.linux-1.i
386.rpm (注意:这个包可能工作不正常) 1.63M RPM 
xa1.04 ftp.openunix.org/pub/chinese/chinese_gb/RPMS/xa-1.04-1.i386.rpm 9.33k 
RPM 
xcin mud.263.net.cn/pub/linux/chinese/XcinGB/xcin-2_3.rpm 805k RPM 
cxterm5.0P ftp.freesoft.cei.gov.cn/pub/mirrors/ftp.redhat.com/ 
redhat/contrib/libc6/i386/cxterm-color-gb-5.0.p3-2.i386.rpm 503k RPM 
cdict ftp.openunix.org/pub/chinese/chinese_gb/RPMS/cdict-1.0-1.i386.rpm  7.4M 
RPM 
edict chinput软件包自带 X X 
cxwin0.5 studio.sinet.net.cn/pub/chinese/GB/CXWIN/v0.5/binaries/RedHat >1M gz 

KDE1.1 ftp.kde.org/pub/kde/stable/1.1/distribution/rpm/RedHat-5.1/i386 16.8M 
RPM 
GNOME1.0 ftp.snoopy.net/pub/mirrors/GNOME/gnome-1.0/redhat/i386/ 23M RPM 
中文字体xfonts-chines ftp.openunix.org/pub/chinese/chinese_gb/RPMS/xfonts-chin
ese-1.i386.rpm (包括5种简体字库和2种繁体字库) 3.52M RPM 

五.安装步骤

V0.11解决方案下:(采用Xa+Xcin)

0.下载你所需的各项软件.

1.正确安装完Redhat并安装中文部件cxterm和xcin .

2.为了能在x-term中显示中文,必须在用户目录($HOME)中建立一个.inputrc文件(注意前
面的"."字符,不能少),内容如下:

set convert-meta off set output-meta on

3.下载cxwin0.5中合适的X服务器.目前所用英文X服务器类型可以在/usr/X11R6/bin下用
" ls XF86_* "看到,比如我所用的为XF86_SVGA.在网络工作室下载一个同样的x服务器.如
XF86_SVGA.gz,拷贝到/usr/X11R6/bin,备份原来的文件 gzip -d XF86_SVGA.gz,现在你的
XF86就可以支持简体中文了.

4.在北京Linux俱乐部(BJLUG)下载XA-1.04(这里的连接是gz包的)如果是gz包请按他的说
明编译,如果是RPM包就直接安装吧.

5.正确安装KDE1.1 下载编译好并按rpm 格式打包的KDE 文件.下载完后先安装文件 
qt-1.40-1rh51.i386.rpm (用命令 rpm -Uhv,也可以用Redhat自带的Xwin下的RPM管理器)
,如果要自己编译其他KDE 应用程序的话还要安装文件 qt-devel-1.40-1rh51.i386.rpm 
,然后按顺序安装 kdesupport, kdelibs 和 kdebase 三个包, 最后再安装其他 rpm 文件
.待全部 rpm 包安装完后输入usekde,它将自动修改$HOME/.Xcilent配置文件,再startx 
就可以进入KDE界面了.

6.修改KDE的启动脚本,在Redhat下,只要在/opy/kde/bin/下的startkde脚本的倒数第二
行中插入一行"exec xcin &".保证每次执行中文输入服务器xcin.

7.启动kde进入kde控制中心,选择Desktop-Langurage可以看到很多语言的选择,在最后可
以看到zh_CN.GB2312的选择.选择这一项(注意:必须把分辩调到1024X768,否则无法列出这
一选项,如果你不能上到1024的分辨率,那么自己在配置文件的语言一项修改.重新启动
kde,所有的界面中文化,绝大部分KDE自带的应用程序,包括kppp.kirc.kedit等等连帮助也
都翻译成了中文.:-)

8.解决输入问题

按照XA的说明,你可以修改每一应用程序的启动脚本,增加LD_PRELOAD的环境变量,如果觉
的麻烦,可以在xterm下输入 " xa 执行程序名 ",来运行该程序,注意不要把LD_PRELOAD加
到KDE的启动脚本中否则可能无故死机 ! 

注意:对于Redhat的Netscape, 一般用netscape启动的是一个脚本,它将自己规定
LD_PRELOAD使得Xa设置的LD_PRELOAD环境失效, 你可以用如下方法对这个脚本进行修改:
编辑在/usr/bin 下的netscape脚本,将

LD_PRELOAD=$locale_load 这一行改为: LD_PRELOAD=$locale_load:$LD_PRELOAD

也可以在KDE的任务栏中增加一个netscape的图标,修改其运行命令为xa 
netscape-navigator那么就可以像win98一样点击图标执行netscape了!

如果按照以上的步骤做下来,你甚至无需在netscape中选择中文简体解码就能置示和输入
中文,(当然Big5解码还得自己选择)

9.一般来说 ,这就差不多成功了。记住启动kirc,kedit,licq之类需要中文的程序时用xa,
那么就没什么不能输入中文的问题了.

V0.2解决方案下:(采用Chinput)

0.下载你所需的各项软件.

1.正确安装完Redhat并安装中文部件cxterm,安装我提供的中文字库.都是RPM包,安装很方
便!

2.为了能在x-term中显示中文,必须在用户目录($HOME)中建立一个.inputrc文件(注意前
面的"."字符,不能少),内容如下:

set convert-meta off set output-meta on

3.安装chinput.1.4.1

我给出的chinput的RPM包虽然安装很方便,但它并不适应RedHat5.1.自己编译才能有好的
效果.

tar zxvf  Chinput-1.4.1-linux.tar.gz 到某一目录.

如下修改部分库文件:

因为在Redhat 5.1下,libX11.so的位置与源文件的定义不同,所以要在chinput的目录
(Chinput-1.4.1-linux)下,进入warp子目录,修改warp.h 中的

#define FILE_XLIB_SHARED "/usr/X11/lib/libX11.so" 这一行为
#define FILE_XLIB_SHARED "/usr/X11R6/lib/libX11.so"

同样,由于我们第1步装的中文繁体字库的全称和源文件的定义也不一样,所以要将同一目
录下的font.h 中繁体字库定义的六行:

#define HANZIB5FONT12 "-eten-fixed-medium-r-normal--*-110-75-75-c-*-big5.eten-
0"
#define HANZIB5FONT16 "-eten-fixed-medium-r-normal--16-150-75-75-c-*-big5.eten
-0"
#define HANZIB5FONT20 "-eten-fixed-medium-r-normal--*-190-75-75-c-*-big5.eten-
0"
#define HANZIB5FONT24 "-eten-fixed-medium-r-normal--24-230-75-75-c-*-big5.eten
-0"
#define HANZIB5FONT28 "-eten-fixed-medium-r-normal--*-270-75-75-c-*-big5.eten-
0"
#define HANZIB5FONT32 "-eten-fixed-medium-r-normal--*-310-75-75-c-*-big5.eten-
0"

改为

#define HANZIB5FONT12 "-eten-fixed-medium-r-normal--*-110-75-75-c-*-big5.et-0"

#define HANZIB5FONT16 "-eten-fixed-medium-r-normal--16-150-75-75-c-*-big5.et-0
"
#define HANZIB5FONT20 "-eten-fixed-medium-r-normal--*-190-75-75-c-*-big5.et-0"

#define HANZIB5FONT24 "-eten-fixed-medium-r-normal--24-230-75-75-c-*-big5.et-0
"
#define HANZIB5FONT28 "-eten-fixed-medium-r-normal--*-270-75-75-c-*-big5.et-0"

#define HANZIB5FONT32 "-eten-fixed-medium-r-normal--*-310-75-75-c-*-big5.et-0"
 

这样才能使GB和BIG码随时转换和同屏显示.

编译chinput  " make;make install "

完成后请仔细阅读chinput带的文档(/doc/gb/下),这对你充分使用它的各种功能极有帮助
.

4.正确安装cdict1.0.1,这是一个RPM包,用来提供详细的英汉字典,很方便.当然也可以不
装.

5.正确安装KDE1.1 下载编译好并按rpm 格式打包的KDE 文件.下载完后先安装文件 
qt-1.40-1rh51.i386.rpm (用命令 rpm -Uhv,也可以用Redhat自带的Xwin下的RPM管理器)
,如果要自己编译其他KDE 应用程序的话还要安装文件 qt-devel-1.40-1rh51.i386.rpm 
,然后按顺序安装 kdesupport, kdelibs 和 kdebase 三个包, 最后再安装其他 rpm 文件
.待全部 rpm 包安装完后输入usekde,它将自动修改$HOME/.Xcilent配置文件,再startx 
就可以进入KDE界面了.

6.启动kde进入kde控制中心,选择Desktop-Langurage可以看到很多语言的选择,在最后可
以看到zh_CN.GB2312的选择.选择这一项(注意:必须把分辩调到1024X768,否则无法列出这
一选项,如果你不能上到1024的分辨率,那么自己在配置文件的语言一项修改.

7.Xwin下KDE的中文化

用 "run startx"来重新启动kde(run 是 chinput自带的包装脚本" run startx"可以将整
个Xwin包装起来,起到以前cxwin0.5的作用),这时所有的界面中文化,绝大部分KDE自带的
应用程序,包括kppp.kirc.kedit等等连帮助也都翻译成了中文.:-).

8.解决中文输入问题

在一个xterm下输入"chinput&"(或自己做一个快捷方式)来启动汉字输入服务器,之后你可
以随便运行各种X程序,你会发现此时都能顺利的输入中文.(当然你不要把chinput的输入
条关了)

注意:对于Redhat的Netscape, 一般用netscape启动的是一个脚本,它将自己规定
LD_PRELOAD使得chinput设置的LD_PRELOAD环境失效, 你可以用如下方法对这个脚本进行
修改:编辑在/usr/bin 下的netscape脚本,将

"LD_PRELOAD=$locale_load" 这一行改为: "LD_PRELOAD=$locale_load:$LD_PRELOAD"

这样只要启动了chinput输入服务器,在netscape下就能轻松的输入中文了.

9.内码转换和在线英汉字典

其实这在chinput的文档中都讲的比较详细了,这里我再介绍一下.

在任何激活的窗口和应用程序的界面下,按住shift键后再按下鼠标的右键,就能弹出一个
中文包装配置菜单,可以选择是否对此窗口中文包装(一般都需要,但有时可以不用包装,因
为包装后的刷新速度会变慢,运行cdict也不需要包装,否则不能正常工作),也可以选择
GB/BIG5/日文/韩文/的内码转换,在不同窗口下能采用不同的编码,这样就能支持这四钟编
码的同屏显示.能选择在线英汉字典的配置(注意:要使用此功能,请先运行cdict或edict驻
留内存),至于网页翻译我还未能试出来.

五.版权和感谢

本文档可以自由传播,但请不要擅自修改.有任何意见或应用于商业用途请与 
iamin@371.net联系.设置好后的界面可以参见我使用的中文KDE屏幕快照V0.11 ,V0.2的快
照还没来得及做:-)

写完这份简单的介绍,我想感谢文中提到各项软件的开发者们;我在武汉Linixer俱乐部
(WHLUG)的各位朋友,提供软件下载的北京Linux俱乐部(BJLUG)和网络工作室.我所做的一
切只不过是集中了这些辛勤工作的自由软件开发者的成果而已.


 

--
        
                  ________________
                 /________________/|
                 |               | |
                 |      网       | |
                 |      络       | |

※ 来源:·紫 丁 香 bbs.hit.edu.cn·[FROM: 202.118.239.10] 
[百宝箱] [返回首页] [上级目录] [根目录] [返回顶部] [刷新] [返回]
Powered by KBS BBS 2.0 (http://dev.kcn.cn)
页面执行时间:2.782毫秒