我在 Arch Linux 上安装了 GNOME,坊间传闻 IBus 是契合 GNOME 环境的最好输入法框架,我便用 pacman 把 ibus 和 ibus-libpinyin 装了起来。但很奇怪,Arch Linux 不像 Ubuntu 那样可以在系统设置中调整语言(似乎是这样的),我在键盘 - 输入源里面没有找到 IBus 的任何相关信息,每次切换到 libpinyin 都需要输入命令 $ ibus engine libpinyin,非常的麻烦,而且某些时候会莫名其妙的又回到默认英文输入,这时又得调整。
今天偶然间通过修改 dconf 让一切恢复正常,以下直接上方案。
解决方法(仅针对 GNOME):
一、首先,系统中需要 dconf-editor 这个工具,打开后如下图:
![图1,dconf-editor 工具](https://i-blog.csdnimg.cn/blog_migrate/0f2aed89afee7c50bb75bf260bb6dd70.png)
二、定位到 /org/gnome/desktop/input-sources/,可以发现一个叫做 sources 的子项。这就是 GNOME 全局的输入法选项了。
三、以我的设置举例,我使用的 IBus 输入法引擎名字叫做 libpinyin,那么便有如下设置:
![](https://i-blog.csdnimg.cn/blog_migrate/aac593a8a6e2c2f4f76190bdd5e06ac0.png)
可以发现其中的描述已经非常清楚了!按照他给定的格式可以设置更多 IBus 输入法引擎,不仅限这一种。
四、修改完后点击下方的勾勾完成,可以发现中文输入法瞬间出现!使用 $ ibus engine,查看可以发现目前默认的引擎已经切换到了 libpinyin,并且使用快捷键可以切换汉语和英语。重新启动和登陆后,均可以默认使用 libpinyin。
完成上述步骤以后,可以发现设置中原来找不到的 IBus 选项也出现了:
![](https://i-blog.csdnimg.cn/blog_migrate/a8bd0d2f65f0c15b274f8aa1e229869f.png)
相关信息
关于 IBus:IBus 是一个输入法框架,和 Fcitx 属于同一级别。一个输入法框架能搭配很多的与该框架相关的输入法引擎使用,其中框架大概能理解为引擎的容器(这么个意思吧。。详情可见 Arch Wiki: 输入法 - Arch Linux 中文维基
关于 GNOME 与 dconf:GNOME 作为 GTK 桌面环境,可以依靠 GTK 来统一集中管理应用程序的设置,这种方法有点像 Windows 上的注册表。每个使用 GNOME 的用户都包含一个自己的注册表(大概是位于 ~/.config/dconf/user)。GTK 中用于操作设置的组件是 GSettings,GSettings 给每个 GTK 程序提供了 API,只需要在程序中调用这些 API 即可将本程序的设置保存到所谓“注册表”中。dconf 可以看成 GNOME 的注册表编辑器,可以直接编辑这个“注册表”数据库,从而达到修改各种应用程序的目的。