安装Arch官方说明安装Fcitx,在.xprofile中设置export GTK_IM_MODULE=fcitx等三句后,在firefox下不能输入中文。
将export GTK_IM_MODULE=fcitx等三句中的fcitx改为xim后可以输入中文,但输入框不能跟随光标。
忘了在哪里看到说设置/usr/lib/gtk-2.0/2.10.0/gtk.immodules,然后仔细看了下这个文件,发现里面有"/usr/lib/gtk-2.0/2.10.0/immodules/im-xim.so" ,却没有im-fcitx,然后看到/usr/lib/gtk-2.0/2.10.0/immodules/中有im-xim.so,却没有im-fcitx.so,于是猜想问题就出在这里。
于是搜了一下gtk2.0 im-fcitx.so,找到了下面两个资源:
32位:http://rpm.pbone.net/index.php3/stat/4/idpl/26212985/dir/opensuse/com/fcitx-gtk2-32bit-4.2.8.3-9.1.x86_64.rpm.html
64位:http://rpm.pbone.net/index.php3/stat/4/idpl/26001012/dir/opensuse/com/fcitx-gtk2-4.2.8.3-5.2.x86_64.rpm.html
下载rpm包,使用命令 "rpmextract.sh filename"解压,将得到的im-fcitx.so拷贝至/usr/lib/gtk-2.0/2.10.0/immodules/,然后修改/usr/lib/gtk-2.0/2.10.0/gtk.immodules,按照im-xim那两行照猫画虎,添加如下两行:
"/usr/lib/gtk-2.0/2.10.0/immodules/im-fcitx.so"
"fcitx" "X Input Method" "gtk20" "/usr/share/locale" "en:ko:ja:th:zh"
重新登录,成功了。
似乎所下载的rpm包装自Ubuntu,因为按上述方法成功后Fcitx多了几个Ubuntu的输入法皮肤。
补记:
再次重装系统后发现/usr/lib/gtk-2.0/2.10.0/gtk.immodules不存在,一番查找之后,终于找到解决方案:
1 cd /usr/lib/gtk-2.0/2.10.0 2 su #必须用root身份, sudo无效 3 gtk-query-immodules-2.0 > gtk.immodules