Linux中文化之RedHat7.1+GNOME中文化方法

发表于:2007-07-04来源:作者:点击数: 标签:
作 者: moonlight RedHat 7.1+Chinput 3.0.1在GNOME下简体中文显示与输入(v0.2 最新修订于2001年5月9日) (Email: hust_cool@263.net) 一、GNOME的中文显示 RedHat 7.1采用glibc2.2.2和XFree86 4.0.3,对国际化的支持有了很大的进步。GNOME是优秀的桌面平

  作 者: moonlight
  
  
  RedHat 7.1+Chinput 3.0.1在GNOME下简体中文显示与输入(v0.2 最新修订于2001年5月9日)
  (Email: hust_cool@263.net)
  
  
  一、GNOME的中文显示
  RedHat 7.1采用glibc2.2.2和XFree86 4.0.3,对国际化的支持有了很大的进步。GNOME是优秀的桌面平台,也是目前
  Linux使用的对国际化支持最好的桌面平台。这里我主要讲如何实现在RedHat 7.1下面显示和输入简体中文。
  为了简单起见,仅仅讲述GB2312编码的字符集。
  
  因为XFree86 4.0.3对显卡的支持不如XFree86 3.3.6广泛,所以RedHat 7.1里面同时保留了XFree86 3.3.6
  可以用xdpyinfo查看XFree86的版本号。方法
  xdpyinfo | grep release | sed s/^.*[^[:digit:]]//
  看看结果是不是4003,如果不是,表明版本不是4.0.3,您将不能用本文中的方法设置True Type字体。
  (XFree86 3.3.6不支持xtt模块,您需要参考其它资料设置)
  
  1:设置中文locale
  Linux采用locale技术以实现对多语言的支持。因此首先要设置中文locale。
  RedHat 7.1安装的时候有语言选择的选项,要求至少选择中文(Chinese)选项,否则很多中文的按钮、菜单可就看不到了
  如果不能确定,那就把所有语言都选上。
  如果你使用的是bash,那么请编辑~/.bash_profile文件,加上
  export LC_ALL=zh_CN
  export LANG=zh_CN
  然后运行. .bash_profile或者重新登录账号以使设置生效。
  编辑~/.i18n文件,内容为:
  LANG="zh_CN"
  
  2:测试中文locale
  在控制台上运行date命令,如果你能看到乱码证明中文locale已经生效。
  因为glibc2.2和2.1的locale名称有点不同,所以还要做一点工作
  cd /usr/share/locale
  ln -s zh_CN.GB2312 zh_CN
  此时运行startx进入GNOME桌面,你将看到任务栏上的时间已经变成中文显示了。如果你默认的不是GNOME桌面则可以
  运行switchdesk gnome切换到GNOME桌面。
  
  3:显示Windows下的中文文件名
  如果你还装了中文Windows 95/98/Me,那么现在就可以显示中文文件名了。RedHat 7.1采用2.4.2的内核,可以支持
  简体中文代码页。使用方法:在mount后加选项-o codepage=936,iocharset=cp936。为了永久生效,可以修改/etc/fstab
  文件。例如我的/etc/fstab文件内容为:
  LABEL=/    /    ext2   defaults   1 1
  /dev/hda1   /mnt/c vfat   defaults,codepage=936,iocharset=cp936 0 0
  /dev/hda7   /mnt/d vfat   defaults,codepage=936,iocharset=cp936 0 0
  /dev/cdrom  /mnt/cdrom iso9660 noauto,owner,ro 0 0
  /dev/fd0   /mnt/floppy auto  noauto,owner 0 0
  none     /proc   proc   defaults   0 0
  none     /dev/pts devpts gid=5,mode=620 0 0
  /dev/hda10  swap   swap    defaults   0 0
  
  4:安装中文TrueType字体
  XFree86 4.x可以比较好的支持TrueType字体。TrueType字体可以无级缩放,显示效果非点阵字体可比。为了达到
  Microsoft Windows那样的漂亮字体效果,我们可以安装中文TrueType字体。最简单的方法就是直接使用Windows 98下
  的中文字体。
  mkdir /usr/share/fonts/default/TrueType
  cp /mnt/c/windows/fonts/simsun.ttf /usr/share/fonts/default/TrueType
  cd /usr/share/fonts/default/TrueType
  ttmkfdir > fonts.dir
  因为ttmkfdir对Windows字体的编码识别有问题,因此需要手动修改一下。
  编辑fonts.dir文件,将
  simsun.ttf -misc-SimSun-medium-r-normal--0-0-0-0-p-0-fcd8859-15
  修改为
  simsun.ttf -misc-SimSun-medium-r-normal--0-0-0-0-p-0-gb2312.1980-0
  然后设置可缩放字体
  cp fonts.dir fonts.scale
  设置编码文件
  cp /usr/X11R6/lib/X11/fonts/encodings/encodings.dir .
  我们必须指定字体路径。
  编辑/etc/X11/XF86Config-4文件,加上
  所需要的字体路径,如下所示:(#表示注释行,以下同)
  Section "Files"
  FontPath "unix/:7100"
  FontPath "/usr/share/fonts/default/TrueType" (关键)
  EndSection
  还有在该文件的Modules部分,请加上xtt模块,同时必须取消freetype模块,两模块不可同时使用。
  例如:
  Section "Module"
  Load "dbe" # Double-buffering
  # Load "GLcore" # OpenGL support
  # Load "dri" # Direct rendering infrastructure
  Load "glx" # OpenGL X protocol interface
  Load "extmod" # Misc. required extensions
  Load "v4l" # Video4Linux
  # Load "pex5" # PHIGS for X 3D environment (obsolete)
  # Load "record" # X event recorder
  # Load "xie" # X Image Extension (obsolete)
  # You only need the following two modules if you do not use xfs.
  # Load "freetype" # TrueType font handler
  Load "xtt" # TrueType font handler
  # Load "type1" # Adobe Type 1 font handler
  EndSection
  注:此方法不需要关闭xfs,比较简单。
  5:设置GNOME的TrueType中文字体
  为了使我们设置的TrueType字体能够在GNOME下面使用,必须修改GNOME的资源配置文件。
  编辑/etc/gtk/gtkrc.zh_CN文件,设置字体如下:
  style "gtk-default-zh-cn" {
  fontset = " -misc-simsun-medium-r-normal--14-0-0-0-p-0-*-* "
  }
  class "GtkWidget" style "gtk-default-zh-cn"
  再编辑/etc/gnome/gtkrc.zh_CN文件,将所有的FontSet设置为:
  fontset = "-misc-simsun-medium-r-normal--14-*-*-*-*-*-gb2312.1980-0"
  此时运行startx进入GNOME桌面,就可以看到漂亮的TrueType中文字体啦!
  6:中文输入
  这里我们采用Chinput 3.0.1作为中文输入服务器。Chinput 3.0.1可以支持XIM协议。
  除了Chinput 3.0.1的rpm包,另外还需要GNU pth和UNICON的输入法部分。
  首先安装pth
  rpm -ivh pth-1.3.7-3.i386.rpm
  然后安装UNICON输入法模块
  rpm -ivh unicon-3.0.2-im_2.i386.rpm
  最后安装Chinput输入法服务器
  rpm -ivh Chinput-3.0.1-2.i386.rpm
  我们必须针对RedHat7和自己设置的字体做一些设置
  cp /usr/lib/ZWinPro/Chinput.ad ~/.chinput
  编辑~/.chinput文件
  按如下设置
  chinput.gblocale = zh_CN
  chinput.big5locale = zh_CN
  chinput.gbfont = -misc-simsun-medium-r-normal--16-*-*-*-*-*-gb2312.1980-0
  chinput.bigfont = -misc-simsun-medium-r-normal--16-*-*-*-*-*-gb2312.1980-0
  将[ZNPY]下面的
  FILE clearcase/" target="_blank" >cce/dict
  改为
  FILE /home/name/.pyinput
  其中/home/name由echo $HOME得到的值替换。
  别的地方不用修改
  然后执行
  cp /usr/unicon/modules/cce/dict/* ~/.pyinput
  编辑~/.bash_profile文件
  加上 export XMODIFIERS=@im=Chinput
  startx进入GNOME环境,把Chinput作为缺省启动程序。方法:
  进入控制中心,在Startup Programs里面添加然后退出桌面到控制台下面运行. .bash_profile startx进入GNOME环境,调出gEdit,按Ctrl+空格就可以输入中文了。
  注:以上3个文件均可在ftp://202.103.6.65/pub/chinese/中获得
  感谢Wu Yulun(migr@opera.com)和sipida(zxd@engc.bu.edu)做的rpm包使得安装更加方便。
  特别感谢中国linux论坛(http://www.linuxforum.net)的huyou给出的保存用户词组的patch,
  现在已经可以保存用户词组了^_*
  7:在应用程序中使用中文
  (1)浏览器
  上网冲浪最重要的软件莫过于浏览器了。Linux下常用的浏览器有Netscape、Lynx等。这里我
  要向各位推荐的是Netscape的新一代浏览器核心——Mozilla。Mozilla完全符合最新W3C标准,
  目前最新版0.8.1无论是从功能还是稳定性上来说都已经做的相当不错了。
  下载Mozilla 0.8.1
  下载地址http://www.mozilla.org
  安装
  tar zxvf mozilla-i686-pc-linux-gnu-0.8.1.tar.gz
  cd mozilla
  ./mozilla
  这时mozilla就启动了。现在我们来做一些配置工作。首先选择Edit--Preferences,弹出对话框
  选择Appearance--Fonts,在Language Encoding中选择Simplified Chinese,然后将Serif、Sans Serif、Monospace都选择misc-simsun-gb2312.1980-0字体。Size设为14。
  有些站点可以自动识别语言。这可以通过以下方法实现:
  Navigator--Languages--Add...
  选择Chinese/China [zh-cn]
  点击Move Up,将中文语言放在最上面。
  最后点OK完成配置,然后退出
  Mozilla。(注意:这一点很重要,因为mozilla退出时会改写配置文件。如果没有退出mozilla
  做以下操作将无效!)
  cd mozilla/defaults/pref,编辑unix.js
  找到这样两行
  pref("font.min-size.variable.zh-CN", 16);
  pref("font.min-size.fixed.zh-CN", 16);
  改为
  pref("font.min-size.variable.zh-CN", 12);
  pref("font.min-size.fixed.zh-CN", 12);
  这样可以使网页看上去美观多了。
  最后是对输入法的配置
  cd ~/.mozilla
  在里面找到pref.js文件,在文件最后加上这样一行
  pref("xim.input_style","over-the-spot");
  然后运行mozilla,就可以显示效果很好的中文网页了!显示效果一点不比IE 5.0差。
  为了方便,可以在panel中增加mozilla的启动图标。
  为了方便中文识别,可以选择View--Character Coding--Auto-Detect--Simplified Chinese
  以后mozilla会自动识别中文代码页面。
  注:如果您是用的Mozilla的rpm包安装的,方法是一样的,只是路径有所不同。您需要修改的是
  /usr/lib/mozilla/defaults/pref/unix.js文件。
  (2)终端仿真
  无论是运行shell程序还是上BBS,都少不了终端仿真程序。目前对中文支持比较好而且支持XIM协议的就是rxvt了 RedHat 7.1带有rxvt,可以支持中文
  启动参数如下
  rxvt -bg black -fg gray -fn 8x16 -fm -misc-simsun-*-16-*-gb2312.1980-0
  上BBS的时候可以把rxvt的屏幕调大一些,方法:在rxvt的菜单中选“终端机”——“字型”——“较小”
  这样就看起来舒服一些:)
  另外,在列目录的时候,ls不能显示中文文件名。解决方法如下
  编辑~/.bashrc文件,加上如下一行 alias ls='ls --show-control-chars'
  重新登录即可
  (3)mp3播放器xmms
  X Window下最好的mp3播放器当然是非xmms莫属啦!RedHat7.1自带的xmms在显示中文歌曲名称的时候有问题,我已经 重新编译了可以正常显示中文playlist的xmms。下载地址:ftp://202.103.6.65/pub/xmms
  安装方法:下载后执行rpm -Uvh --force xmms*.rpm OK。下面将设置方法 运行xmms,在xmms菜单(在xmms的左上角用鼠标点一下就会出来)中执行“选项”——“功能设定”,弹出“设定”对话 框,选最右边一项“Fonts”,将选项中的Use Fontsets和Use X Font打勾。然后点“浏览”选择字体。字体选择simsun 大小选择12。完成后再看你的歌曲名称就正常了。
  本文只是我自己实践的一些心得体会,写出来是希望能够多少有些帮助。
  特别提醒大家注意:Windows的TTF字体是Microsoft公司的商业软件,这里使用它主要是用于
  学习和教育目的,不可非法使用。
  主要参考资料:
  1:CLE(http://cle.linux.org.tw)的i18n有关文档
  2:《RedHat7-Chinput3-tiny-HOWTO》by Wu Yulun(migr@opera.com)
  3:Chinput 3相关资料(于明俭主页http://go.163.com/~yumingjian)
  (待续)
  
  
  
  

原文转自:http://www.ltesting.net