Chinaunix首页 | 论坛 | 博客
  • 博客访问: 801557
  • 博文数量: 770
  • 博客积分: 5000
  • 博客等级: 大校
  • 技术积分: 4950
  • 用 户 组: 普通用户
  • 注册时间: 2008-10-09 17:49
文章分类

全部博文(770)

文章存档

2011年(1)

2008年(769)

我的朋友

分类:

2008-10-10 11:12:55

RedHat 7.1中文汉化

首先注明此文章为moonlight所有,本人对其进行了一正修正。

一、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/hda6               /wine                   vfat    defaults,codepage=936,iocharset=cp936        0 0
/dev/hda7               /winf                   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/hda8               swap                    swap    defaults        0 0

4:安装中文TrueType字体
XFree86 4.x可以比较好的支持TrueType字体。TrueType字体可以无级缩放,显示效果非点阵字体可比。为了达到
Microsoft Windows那样的漂亮字体效果,我们可以安装中文TrueType字体。最简单的方法就是直接使用Windows 98下
的中文字体。
mkdir /usr/X11R6/lib/X11/fonts/TrueType
cp /mnt/c/windows/fonts/simsun.ttf /usr/X11R6/lib/X11/fonts/TrueType
cd /usr/X11R6/lib/X11/fonts/TrueType
ttmkfdir > fonts.dir
因为ttmkfdir对Windows字体的编码识别有问题,因此需要手动修改一下。
编辑fonts.dir文件,将
5
加1修改为
6

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

添加一行,增加对KDE程序所使用的gbk支持
simsun.ttf -misc-SimSun-medium-r-normal--0-0-0-0-c-0-gbk-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/X11R6/lib/X11/fonts/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

注:如果你重新进行了一次Xconfigurator后必须再一次修该文件。
注:此方法不需要关闭xfs,比较简单。

5:设置X-WINDOW的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中文字体啦!

设置KDE的中文显示
Preferences->ersonalization->Country&Language
     国家:中国(cn);对了,装系统的时候最好把所有语言支持加上。
     语言:简体中文(zh_CN.GB2312)
     字符:gb2312.1980-0
再在Preferences->look&feel->fonts里设置字体大小即可,字体用simsun,大小你看着办吧,哧哧。


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-2.i386.rpm
然后安装UNICON输入法模块,注意必须是unicon2,不是unicon3
cp unicon2-im.tar.gz /usr/lib
tar xvfz unicon2-im.tar.gz
rm unicon2-im.tar.gz
最后安装Chinput输入法服务器
rpm -ivh Chinput-3.0.1-2.i386.rpm --nodeps
cd /usr/lib/unicon2
把Chinput所需的库拷到/usr/lib目录下去
cp libimm_server.so /usr/lib
cd /usr/lib
ln -s libstdc++-2-libc6.1-1-2.9.0.so libstdc++-libc6.1-2.so.3
我们必须针对RedHat7和自己设置的字体做一些设置
cd /usr/lib/ZWinPro
vi Chinput.ad
按如下设置
chinput.gblocale  =  zh_CN.GB2312
chinput.big5locale  =  zh_CN.GB2312

chinput.gbfont  =  -misc-simsun-medium-r-normal--16-*-*-*-*-*-gb2312.1980-0
chinput.bigfont =  -misc-simsun-medium-r-normal--16-*-*-*-*-*-gb2312.1980-0

编辑~/.bash_profile文件
加上 export XMODIFIERS=@im=Chinput
startx进入GNOME环境,把Chinput作为缺省启动程序。方法:
进入控制中心,在Startup Programs里面添加
然后退出桌面到控制台下面运行
. .bash_profile

在KDE桌面桌所Autostart文件夹中添加一个指向chinput的链接,chinput应用程序(/usr/bin/chinput)
重新进入KDE按CTRL+SPACE便可以看到Chinput的条形输入框了,爽!CTRL+SHIFT为切换输入法.

7:在应用程序中使用中文

(1)浏览器
下载Mozilla 0.9
下载地址
解压文件后在mozilla-installer目录下运行
./mozilla-installer
安装完后,现在我们来做一些配置工作。首先选择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
做以下操作将无效!)
mozilla装而/usr/local/mozilla下
cd /usr/local/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);
然后运行mozilla,就可以显示效果很好的中文网页了!显示效果一点不比IE 5.0差。
而且Chinput不用设置便可以输出中文汉字了。
为了方便,可以在panel中增加mozilla的启动图标。
为了方便中文识别,可以选择View--Character Coding--Auto-Detect--Simplified Chinese
以后mozilla会自动识别中文代码页面。

(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 --color --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。完成后再看你的歌曲名称就正常了。

(待续)      
--------------------next---------------------
question:

1.在输入“xdpyinfo | grep release | sed s/^.*[^[:digit:]]// ”后无法看到XFree86的版本号,显示“xdpyinfo:can't display "" "。

2.文中所说的~/.bash_profile、~/.i18n是哪个目录下的啊?

3. 我的/usr/share/locale 下并没有zh_CN.GB2312文件,所以无法创建连接文件zh_CN。

4.运行mount dev/hda3 /mnt/win98 vfat defaults,codepage=936,iocharset=cp936 0 0后,显示"....error:too many filesystem mounted"

5.在cp了simsun.ttf到 /usr/X11R6/lib/X11/fonts/TrueType 后执行ttmkfdir > fonts.dir 命令,得到的fonts.dir文件竟然只有2个字节!!why??

我还是按照文章所说设置了字体路径、gnome资源配置文件,但是进入Xwindow还是E文,我要怎么做才能看到中文啊???

附:我升级了内核到2.4.5,配置时选择了支持简体中文,在gtkrc.zh_CN里我看到了与gb2312xxxxxxxxx的字样。我在xmms的播放列表里看到的中文歌曲名字已经是乱码了。

请您指点,谢谢。      
--------------------next---------------------
今天又仔细研究了一下您的大作,得到启发,终于可以显示部分汉字了,看上去真美啊!,但只局限于programe组下各applet下的菜单,其它部分仍是E文。我可是一步步地照做,不敢乱改地方了,现在还有一些问题,请指教:

1.进入Xwindow后,切换回字符界面见到如下内容:
Gdk-WARNING **: Missing charsets in FontSet creation
Gdk-WARNING **:     GB2312.1980-0

而我的/etc/..../TrueType/fonts.dir的里面明明有:
simsun.ttf -misc-SimSun-medium-r-normal--0-0-0-0-p-0-gb2312.1980-0
这样的内容啊!而且我已经设置了gtkrc.zh_CN(both /etc/gtk/ and /etc/gnome/)   why?

2.为什么我只能在root登录后进入Xwindow才能看到中文,而用其他用户登录则还是
只看到英文??如何使本机上的所有用户都能用上中文界面?(难道要给每个用户都设置.bachrc/.bash_profile 吗?!倒!)

3.在按贴子设置chinput为字体服务器并加入Xwindow的启动组后,出错:
Chinput Version 3.0.2 -- XIM Server
Distributed under the terms of the GNU General Public License (GPL)

dlopen (/home/root/.pyinput) failed
error::/home/root/.pyinput: cannot open shared object file: No such
file or directory
OpenServer() = 0
不能进入Xwindow

请您抽点宝贵时间帮忙给看看,好吗?谢谢了!!      
--------------------next---------------------

阅读(752) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~