May 9, 2009

debian中fcitx在en_US locale下自动启动

在新装的debian系统里,中文输入法我原本装的是scim

不过有个问题挺让人苦恼的。系统默认locale是中文-中国的时候,scim会随着我登录系统而自动启动;而我用en_US的locale登录的时候,scim就不会自动出来。这是个问题,因为我习惯英文的系统,而又要用到中文输入法!

在网上搜索、研究了好长时间,对于问题的解决并没有什么实质性的进展。不过看到了另外一个输入法──fcitx,free chinese input toy for x。网上的议论好多人都说它比scim好用而且从它们主页的比较也可以看出一些东西来──scim的site实在是太简陋了,documentatio也太简单,相比较而言fcitx要好一些。因而,我打定主意换fcitx。

原本在fcitx官网看到最新版本是3.6,可是下载下来compile时用“./configure”总是出来个“no such file or directory”,搞不懂怎么回事,我也就不麻烦了,直接在新力得装了个早一点的版本,3.4.

不过,fcitx还是有和scim同样的问题,在en_US下它不会自动启动。转了一圈我又回到了起点了呵呵。不过,这次运气比较不错,在这篇博文找到了解决方案。

首先在/etc/X11/xinit/xinput.d/下新建一个文件en_US,内容如下:
XMODIFIERS="@im=fcitx"
XIM=fcitx
XIM_PROGRAM=/usr/bin/fcitx
XIM_ARGS=""
GTK_IM_MODULE=XIM
QT_IM_MODULE=XIM
DEPENDS="fcitx"

然后编辑/usr/lib/gtk-2.0/2.10.0/immodule-files.d/libgtk2.0-0.immodules文件,找到"xim" "X Input Method" "gtk20" "/usr/share/locale" "ko:ja:th:zh",将之改成"xim" "X Input Method" "gtk20" "/usr/share/locale" "en:ko:ja:th:zh"。

通过上面两步,成了。现在locale是en_US情况下fcitx照样可以自动启动。下面是screenshot.

screenshot,fcitx,scim,en_US,locale

1 comment: