把Firefox3的使用解决后,这两天一直为中文输入法困恼,今天在gedit和firefox中都能输入汉字了,我想把整个中文输入环境全部理顺,只是再花点时间的问题了,这里把过程小结一下。
我的Linux系统中文显示没问题,当初用光盘安装系统时,ttfonts-zh_CN已经装好了,如果你是全英文的系统,中文都没法显示,你要先装中文字库,见Install Chinese Fonts(读1这一段就行了)。在X窗口系统下的输入方法(Input Method)常见的有Xcin、Chinput和scim等,scim是目前走输入法通用化的一种,在这个框架下,中文搭上拼音模块可用来输拼音,其它非英语民族搭上各自的语言模块可输各自的文字。我找到了scim官网,根据指示下载了3个包,即scim-1.4.7, scim-pinyin-0.5.91, scim-tables-0.5.7。scim官网提供了安装方法,我在装scim包时没有用configure选项(缺省装在/usr/local下没什么不好)。装好这些包后,怎么启动scim服务,并使拼音输入法生效,scim官网讲得不清楚,强烈推荐“在 OpenBSD 4.4 上搭建中文语言环境”这篇文章,虽然这是为OpenBSD写的,对我还起到了不小的帮助作用,强调三个关键命令,第一个#gtk-query-immodules-2.0>/var/db/gtk-2.0/gtk.immodules,这个gtk-query-immodules-2.0命令的结果要写到你机器对应的gtk.immodules文件中(注意是覆盖式,不是追加式写入),我的gtk.immodules文件在/etc/gtk-2.0/i386*/目录下;第二个export XMODIFIERS="@im=SCIM",注意大小写,如果敲成小写的scim,Ctrl+Space就出不来中文输入菜单了;第三个export GTK_IM_MODULE=scim,这里scim要小写。老实说,我浪费大把时间最后看是在这大小写上。顺便说一下,我只在gedit和firefox上测试通过了,vi、vim、emacs的测试我还未做,这需要做一些终端参数的设置。
如果包安装好、环境变量也设好(前面说了两个环境变量,关于语言的环境变量和LD_LIBRARY_PATH环境变量我没说,后面再说)、gtk.immodules文件做好,在启动scim守护程序后(执行scim-d命令),在窗口底部任务栏会出现一个小键盘图标,把鼠标移到这个图标上,点鼠标右键,会出现关于SCIM设置的菜单,但实际上在设置项中你可以不做任何操作(包括在GTK中字体的选择),如果在gedit或类似应用中敲Ctrl+Space,不出现中文输入框,这与小键盘图标中SCIM设置无关,你不需要在这个上面花时间,多试试环境变量,是不是这上面有问题。网上有的文章还提到XIM、XIM_PROGRAM等环境变量,我的经验是这些环境变量不设也没什么关系。LANG、LC_CTYPE这两个与语言有关的环境变量要注意,在X终端下执行export命令检查一下这两个变量有没有设置,若LC_CTYPE未设,LANG设成en_US类的值,象gedit界面就变成了英文显示,敲Ctrl+Space,中文输入框也出不来;若LC_CTYPE未设,LANG设成zh_CN.UTF-8类的值,gedit界面变成中文显示,敲Ctrl+Space,中文输入框应该出得来;若LC_CTYPE设成zh_CB.UTF-8类的值,LANG设成en_US类的值,gedit界面显示英文,但敲Ctrl+Space,中文输入框出得来;若LC_CTYPE和LANG都设成en_US类的值,中文输入就出不来了。我想gedit是一个很好的测试器。运行gedit之前,我把LD_LIBRARY_PATH动态库搜索路径环境变量设置如下exportLD_LIBRARY_PATH=/usr/local/lib:/usr/lib,不然的话gedit会加载scim模块出错。
相关链接:
Chapter 2. Installing and supporting languages - Red Hat Documentation
Linux Chinese Howto English Version - 98年的一篇文章,那个时候难度更大(关于locale的一段话:
After you accomplished the establishments of Chinese System, you have
already been able to display Chinese on your Linux through monitors.
However, as using a Chinese editor, you will find that the Linux
system can only display Chinese but cannot accept the input of
Chinese. You have to modify two spots, by yourself, to make Linux
system becoming acceptable with output and input of Chinese if you
want to improve these problems At beginning, you need to add the
locale setting to the shell profile file (Referring to the locale
mini-HOWTO when concerning with locale) )
Migrating to Red Hat Enterprise Linux 4
Red Hat Enterprise Linux 5升级指南
联系客服