如何在 CentOS-7 上安装、使用及定制 ibus-rime
本教程完整参考了 Rime 输入法官方在 github 上的 wiki 页面的 CentOS 安装教程: https://github.com/rime/home/wiki/RimeWithIBus。致谢 Rime 开发者以及该 wiki 的作者。
本文旨在实战分享官方 wiki 中的步骤在实际运行时,出现的几个小问题的解决方法。用具体命令行及详细解说来展示。注意,跟随我的以下教程,你必须完整参考我主页上的 CentOS-7 系统安装后需要做哪些事?上下两篇。确保环境一致,我才能保证你成功安装。
1. 更新 yum 及安装依赖
sudo yum update # 确保更新了 yum
sudo yum install -y gcc gcc-c++ boost boost-devel cmake make cmake3 # 安装依赖。这是官方 wiki 教程的第一步,对新手来说,教程无 `sudo` 权限就不加 `sudo` 权限,其实是需要加的。基本上,在 CentOS-7 中,安装软件一都需要 `sudo` 权限;到某些高权限的目录中进行操作,更是需要 `sudo` 权限。而一般的 README 作者,并不会提醒新手加 `sudo`,这一点请新手自己明白。
sudo yum install glog glog-devel kyotocabinet kyotocabinet-devel marisa-devel yaml-cpp yaml-cpp-devel gtest gtest-devel libnotify zlib zlib-devel gflags gflags-devel leveldb leveldb-devel libnotify-devel ibus-devel # 安装依赖。
cd /usr/src # 切换到 `Unix Software Resource` 目录下的 `source` 目录,接下来的步骤,在该目录放置源码,依然需要 `sudo` 权限。而 `cd` 命令一般是不需要 `sudo` 权限的。
2. 安装较新版本的 OpenCC
sudo curl -L https://github.com/BYVoid/OpenCC/archive/ver.1.0.5.tar.gz | sudo tar zx # 这一步中,原教程没有两个 `sudo`,新手可能运行失败。实际上,这是两句命令合写,在源码目录下,都需要 `sudo`。
cd OpenCC-ver.1.0.5/
sudo make
sudo make install # 成功运行状如下图。
sudo ln -s /usr/lib/libopencc.so /usr/lib64/libopencc.so

3. 克隆 ibus-rime 的仓库
cd /usr/src
sudo git clone --recursive https://github.com/rime/ibus-rime.git # 网速慢的话这一步可能等半小时。如果出现异常,就删掉 /usr/src/ 目录下的 ibus-rime 文件夹,重新运行此行命令,直到成功克隆 ibus-rime 的库。

4. 运行安装脚本
cd /usr/src/ibus-rime
sudo ./install.sh # 这一步在 CentOS-7 上会报 2 个错,大意是只有在 C99 标准中才能那样写代码,修改方法见下一节
5. 改一下不符合标准的代码(这一步是官方教程没写出来的)
sudo vim /usr/src/ibus-rime/rime_main.c # 定位并修改这个文件中出错的 152 行和 162 行,具体修改见下图对比


改后记得保存退出,重新运行安装脚本,运行成功的样子如下图:

6. checkout master & pull
cd /usr/src/ibus-rime/plum/
sudo git checkout master
sudo git pull origin master

7. skip submodule init
cd /usr/src/ibus-rime
sudo sed -i 's/git submodule update --init/#git submodule update --init/g' ./install.sh
sudo ./install.sh
至此,官方 wiki 教程结束,你会发现还是没法正常使用 Rime 输入法。下一节解决这个问题。
8. 在 CentOS-7 中添加 Rime 输入源并重新安装 Virtulbox 虚拟机的 Guest Additions
ibus-setup # 在弹出的 `iBus 偏好设定` 的 `輸入法` 选项中,加入 `漢語` - `Rime`。并且,在 `應用程式` - ` 系統工具` - ` 設定值` - `地區和語言` - `輸入來源` 中,加上 `漢語 (Rime)`。
ibus restart # 这时可能会报错说一个 ibus 的包出错了。就插入 Guest Additons CD image,参照文首提到的我的主页的两篇文章,重新安装一下 Guest Additons。命令参考如下:
sudo mount /dev/cdrom /media # 挂载 Guest Additons 的 CD。
cd /media # 进入 CD。
sudo ./VBoxLinuxAdditions.run # 运行 Guest Additions 安装程序。
reboot #重启后你会看到久违的 `Rime is ready` 弹窗。至此 Rime 输入法已成功安装到你的 CentOS-7 虚拟机,你可以用它输入你的任何作品了。

9. 在 CentOS-7 上面,如何定制 ibus-rime 输入法?
会选用 Rime 作为输入法的同仁,肯定不会满足于仅仅只用拼音输入法。那么如何安装 Rime 默认输入方案之外的输入方案,以及把各个输入方案调试到最满意的状态呢?
-
添加别的输入方案
在 CentOS-7 中,Rime 采用的是 plum
这个程序来添加输入方案。为了添加额外的输入方案,你需要访问 Rime 输入法的 github 官方 plum 仓库并细读其文档,地址为:https://github.com/rime/plum。添加额外输入方案的方法总结如下:
git clone --depth 1 https://github.com/rime/plum.git # 克隆 `plum`。
cd plum
bash rime-install --select :all # 会出现 22 个选项,有几个是已默认安装过了,重复安装也没事。在此,把你想要的输入方案的序号输入进去,按 `.` 结束选择,之后 `plum` 会自动安装好所有你选择的输入方案,你只需要去 `default.custom.yaml` 中添加一下,就能在 Rime 中切换出你安装的任意输入方案了。
bash rime-install :all # 这一行命令与上一行是 `或` 的关系,不是 `顺承` 关系。你可以像上一条命令那样安装某些输入方案,或像这一条命令那样,把 22 个选项全安装了,以后要用时,就不用花时间装了。

-
如何定制 CentOS-7 上 Rime 输入法的字号大小?
你会发现,安装好了的 RIme 输入法用着挺爽,但是,字号小得让人生气。不要急,在你的虚拟机内,打开 Firefox 浏览器,进入 https://extensions.gnome.org/,搜索 ibus font setting
并安装,它就是专业为 ibus 字体服务的。如果这一步你不明白,请返回去看文首提到的两篇文章。安装后在终端机中运行以下命令,就可以设定 Rime 的字号了:
ibus-setup
rm ~/.config/ibus/rime/default.yaml; ibus-daemon -drx # 这行命令是 Rime 中常用的 `重新部署` 命令。



完结撒花。更多 Rime 输入法的定制功能,留待以后再写了。