天气: 晴朗
心情: 高兴
续)
英文环境(locale)下的中文输入法(scim和fcitx)
看了逸的一篇
《再谈英文Locale下使用fcitx》加入自己的实践成此篇。呵呵。。。
http://dengpeng.name/blog/2006/10/16/fcitx-with-en_us-new-method/Describe
ubuntu英文环境下如果加入了中文语言支持默认scim是会安装好的。说实话scim听强大也。只不过用起来可能会和某些软件冲突(道听途说,但我遇到有时候可以打字但看不到选字栏的问题,比较菜我的办法是 重新ctrl+space两次 呵呵 ),所以后来改投小企鹅输入法怀抱--fcitx。。。听说又小巧,又强大。用起来也不错。。。哈
下面介绍方法。。。据说很牛鼻的。。。。
1。装fcitx。从中文源里直接装就行,自己编译新版安装也行。不过要注意 :
安装完毕后在/etc/X11/xinit/xinput.d/下应该有一个fcitx文件,这个是之后的im-swith需要用到的。如果从源里安装这个文件会自动生成,如果是自己编译安装,可能需要自己建立这个文件,内容为:
XIM=fcitx
XIM_PROGRAM=/usr/bin/fcitx
XIM_ARGS=""
GTK_IM_MODULE=XIM
QT_IM_MODULE=XIM
DEPENDS="fcitx"
还要注意一点,就是如果自己编译时不指定安装路径,默认的可执行文件会在/usr/local/bin而不是/usr/bin下,所以要么修改上面的XIM_PROGRAM一行,要么在/usr/bin下建个符号链接。
2。确认安装了 im-switch。。我们要用这个转换输入法哦。。
sudo apt-get install im-switch
之后运行
im-switch -s fcitx
(或
im-switch -s scim-pinyin
如果你想用scim的话)
如果成功,会有如果提示:
From the package dependency information, following packages
may be useful to install:
"fcitx"
(scim的话,最后一行会出现scim呵呵)
如果没成功,看下第一点的注意事项。(文件要自己建立)
3。做完以上步骤后理论上已经配置好了fcitx的环境,但问题的关键,也是以前我一直不能成功调出fcitx的原因就在于:所有的gtk程序在完成以上的配置后,默认的输入法仍然是“default”而不是“X Input Method(即XIM)”。注意一下输入区域的右键菜单“Input Method”项,就会发现这一点,而此时如果你从那个菜单里选择“X Input Method”,输入法就可以成功调出来了。
现在的问题是怎么让系统把GTK程序的默认的输入法设置成XIM而不需要你自己每次手动从菜单里改(何况在firefox这种程序里,右键菜单都没有Input Method那项)。在LinuxSir上有人提出过修改.bashrc或者.bash_profile文件,加入export GTK_IM_MODULE=XIM的方法。我试过,不管改的是哪个文件都不起作用。今天看到这一贴,提到了一个十分牛逼的方法,即修改/etc/gtk-2.0/gtk.immodules文件,把有关xim的部分改成:
"/usr/lib/gtk-2.0/2.4.0/immodules/im-xim.so"
"xim" "X Input Method" "gtk20" "/usr/share/locale" "en:ko:ja:th:zh"
多加上的en就会使GTK程序在en_US的环境下也启用xim作为输入法了。
(相让默认输入法是scim一样道理,在文件的 scim相应的行里最后一个双引号里加入en就可以让en_US环境启用scim作为默认输入法。。)
4。最后,如果成功启动的fcitx界面有乱码,只需要修改配置文件~/.fcitx/config,指定一下中文字体名称就OK了。(我第一次搞没遇到,第二次就遇到了,改第二行的字体为Verdana或随便什么simsum都行,应该是:改第一第二行为一种中文字体就行,也许都不用改,原来的couri就可以,我最后概成了sans,大家可以试试看)
注意之一:我第二次遇到问题时,编辑这个文件直接是乱码。要想看到配置文件,需要file->open->character coding(文件-》打开》字符编码)里边添加chinese simplified(GB2312)这种编码。然后找到要编辑的config文件,就可以打开编辑了。正而八经中文啊 。赫赫。下次在打开也没问题了。
注意之二:我改了第一二行的字体,好像并没有解决问题。虽然输入法没问题,但是会出现打出来的字是方块。。。直到我加了一行
文件开头如下:
[程序]
显示字体(中)=Sans
显示字体(英)=Sans
显示字体大小=16
主窗口字体大小=11
字体区域=en_US.UTF-8 #《-------------------我加的这一行。哈哈,因为我用的英文locale。
是否使用AA字体=1
...
其实是网上一同志问问题时候贴出的一张图中,我看到的他的配置文件里有这个,而我没有。加上,结果重启X。。。搞定!!
逸的文章说是只能用在en_US.UTF-8下,我也是用的这个,所以想用在别的locale下,估计确实要碰碰运气吧,呵呵。
5。最后最后,另报一个我出现的问题。说明这个方法的设置被覆概的问题。
我当时已经搞的如我上边的配置了,但是因为我看别的文章,到处试验,在/etc/X11/Xsession.d/目录下加了一个文件95input,这个文件把默认输入法设成了scim。所以我之后怎么重起X都直接跑到了scim输入法,虽说也挺好用。但是和我的想法不一样。另我很郁闷,不过终于找到原因,删了这个文件,再重起X。。。。哈哈。这回真的没问题了。中文环境对了,中文输入法也对了,并且没有乱码。。。写完了。爽