archlinux, gnome 3.6, ibus

archlinux 上 gnome 3.6 了。结果中文输入这块就给搞了个鸡飞狗跳。

gnome 3.6 里,在系统设置-区域和语言-输入源这块管理了很多之前 ibus-setup 的设置,取而代之的,就是 ibus-setup 基本不起作用了。

比如绝大多数中文用户认为是天经地义 ctrl-space 开启/关闭输入法,gnome 3.6 压根就没想到过这种功能。gnome 的出发点是用类似 alt-tab 这样轮询窗口的方式,来轮询输入法。所以只能定义「下一个输入源」、「上一个输入源」。当然,如果输入源只有两个,一个英文,一个中文,那么把「下一个输入源」定义成 ctrl-space 的话,效果也还是一样。

当然上面描述的是 gnome 想要实现的东西。实际送到用户手里,跟他们的想法还是有出入。

比如我用的 ibus-rime,在输入源里根本看不见。而不管我配几个输入源,ibus-rime 始终是生效的,只能用 shift 来切换中英文。而 ibus-setup 现在已经无法给「下一个输入法」设置快捷键了。

还有最近 gnome-setting-daemon 的升级带来了一点意外。之前我是不需要操心启动 ibus-daemon 的。升级了 gnome-setting-daemon 之后,需要自己来做这个事情。写在 .xprofile 里面并不妥当,因为启动的太早了,结果跟 gnome 3.6 集成的效果完全没出来,丑的很。目前我的办法是在 gnome-session-properites 里面自己加了一项 ibus daemon,运行命令是 ibus-daemon -d -x。

总之,目前 gnome 3.6 跟 ibus 之间并没有理的很清楚,功能实现的乱七八糟,不过好在输入中文还是可以的,对于我来说暂时也够用了。就看 gnome 的同学们啥时候能把这事情理清楚了。

最后附一张 gnome 3.6 下 ibus 输入的截图,外观体验的一致性还是不错的。

评论

Unknown说…
在 gnome-session-properites 里面自己加了一项 ibus daemon,运行命令是 ibus-daemon -d -x。
请问具体该如何操作?我现在没有办法输入中文,ibus-daemon启动之后没有反应。
Li Ruibo说…
就是运行 gnome-session-properties,剩下都是 gui 操作