当前位置:Linux教程 - RedHat - Redhat中文解决方案V0.2

Redhat中文解决方案V0.2



        
    原文: http://personal.xfol.com/~zovlinux/credhat.htm
    --------------------------

    写在前面:我用此方法在RedHat 6.0和manderak上均成功,而且在manderak中不必修
    改任何*.h文件,全部用RPM包都可以安装。注意,请务必将屏幕保护程序关掉,否则会
    出现按一个键有两个字符的情况。Good luck!


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

    [Image]

    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 修改版权和感谢一节部分内容.

    [Image]

    一.所用的硬件配置:

    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.84Mgz
    (要对源码稍作修改,见下文)

    chinput1.41 ftp.openunix.org/pub/chinese/chinese_gb/RPMS/chinput-1.4.linux-1.i386.rpm 1.63MRPM
    (注意:这个包可能工作不正常)

    xa1.04 ftp.openunix.org/pub/chinese/chinese_gb/RPMS/xa-1.04-1.i386.rpm 9.33kRPM

    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/ 503k RPM
    redhat/contrib/libc6/i386/cxterm-color-gb-5.0.p3-2.i386.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.8MRPM

    GNOME1.0 ftp.snoopy.net/pub/mirrors/GNOME/gnome-1.0/redhat/i386/ 23M RPM
    中文字体 ftp.openunix.org/pub/chinese/chinese_gb/RPMS/xfonts-chinese-1.i386.rpm
    xfonts-chines (包括5种简体字库和2种繁体字库) 3.52MRPM

    五.安装步骤

    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)和网络工作室.我所
    做的一切只不过是集中了这些辛勤工作的自由软件
    开发者的成果而已.
    发布人:netbull 来自:LinuxAid