Gnome3 使用fcitx输入法

自从Gnome3集成了ibus后,想使用一下fcitx也不容易。其实我就是想要fcitx自带的五笔拼音输入法,平时用五笔,不会拆字的时候临时用一下拼音,还可以学习一下五笔怎么打,挺方便的。

家里几台电脑用了不同的发行版,其中Fedora和Ubuntu解决很简单,Gentoo要折腾一下。

Fedora用自带这的imsettings-switch即可,如果没有,装imsettings包,还有地方看用im-chooser,好像没什么用。

Ubuntu根据Ubuntu中文社区的wiki:http://wiki.ubuntu.org.cn/Fcitx,用自带的im-switch命令就行,也一样方便有效。

相对比较麻烦的是Gentoo。我是根据Google来的资料一步一步做到的。

首先,修改.xprofile,加入如下几行来设置输入法为fcitx:

1
2
3
export XMODIFIERS="@im=fcitx"
export GTK_IM_MODULE="fcitx"
export QT_IM_MODULE="fcitx"

然后,要禁用ibus输入法,我是根据博客https://infong.me/use-fcitx-on-gnome-36/和fcitx官方FAQhttps://fcitx-im.org/wiki/Note_for_GNOME_Later_than_3.6,决定先不干掉ibus,只用命令:

1
gsettings set org.gnome.settings-daemon.plugins.keyboard active false

来试着禁用一下,结果,然并卵,fcitx并末启动,手动在终端启用,提示一个叫ibus的xim进程已经在运行,试着杀一下,会自动重启动。最后用了一个极度暴力的方法,开一个终端运行:

1
while :; do killall ibus-daemon; killall ibus-dconf; killall ibus-x11; killall ibux-engine-sim; done

然后在另一个终端里开启fcitx成功,并可以使用。但是,这个方法实在是太……反正我感觉这不是一个好方法。

于是我开始考虑Fcitx FAQ中提到的直接从系统中干掉ibus,但是直接全局禁用i18n的USE我也感觉不算好办法,影响到的包相当多,应该不是最好的方法,最后参考了这一篇博客:(http://www.orzapp.com/?p=108 , 链接已不可用)后,经过自己实验:

1
2
gnome-base/gnome-control-center -i18n
gnome-base/gnome-shell -nls

/etc/portage/package.use文件中这两个USE改一下,更新world,并emerge -c即可除去ibus。

这下好了,重启试试,囧,输入法在gnome-terminal中没法用,浏览器中可用。只好继续Google,最终通过Arch的讨论帖:https://bbs.archlinuxcn.org/viewtopic.php?pid=23227#p23227,也看了他提到的https://bugzilla.gnome.org/show_bug.cgi?id=747825#c6

1
gsettings set org.gnome.settings-daemon.plugins.xsettings overrides "{'Gtk/IMModule':<'fcitx'>}"

命令运行后终端中输入法立即可用。

算是折腾告一段落。

题外话:虽然现在不用Arch,但是好多资料,尤其是中文相关的,搜到的前面基本都是Arch相关的,Arch文档好强大,解决我好多问题。

ps:Evernote开始限制登录设备数,除了记录网页,自己的折腾还是自己搭的博客靠谱。虽然看起来已经out,还是尽量在这里记录一下吧。

发表评论

此站点使用Akismet来减少垃圾评论。了解我们如何处理您的评论数据