【前言】
本文记录作者在Linux, Mac, Windows, Android(安卓)和iOS上部署开源输入法平台Rime(在三种PC平台上依次分别有中文名为中州韵、鼠须管和小狼毫),并实现跨平台同步词库的做法。
读者可能只使用一种PC操作系统,但请注意,有些通用的东西分散在Mac和Windows部分。
本文为原创记录,转载必须注明出处和本文网址。
【目录】
序 为什么要使用开源输入法
一、同步
二、在Linux上部署Rime(中州韵)
三、在Mac上部署Rime(鼠须管)
四、在Windows上实现全自动同步Rime用户词库
五、在安卓上部署Rime(同文输入法平台TRime)
六、在iOS上部署Rime(第三方实现)
七、结束语
序 为什么要使用开源输入法
主要有利于隐私安全。
使用开源输入法,可以避免某家具备大数据运作能力的大公司往网上发送用户的输入,这是很重要的一点。输入法是全局性软件,理论上可以获得用户的全部明文输入,甚至包括部分密码。使用“输入法 隐私”这样的组合在网上搜索,稍看几页,便会引起我们在警觉。
并不是说绝对不信任大公司,而是说,我就是不想心里有那么点忐忑,既然可以用开源软件,我就用开源软件。
其次是方便、灵活、可定制性强等等。不是说多数人都有修改代码的能力,至少某些框架类型的开源软件包括Rime确实给了用户很大在自由度,而且门槛也不高。
例如Rime默认附带了明月拼音等输入方案,从一开始就提供了输入能力;但如果用户不喜欢明月拼音输入法,尽可以不使用它,换上自己喜欢的粤拼、仓颉或者五笔,更可以自创一种输入方案。
更有一种方便,是饱受Chrome、Firefox等谜之执着地提示升级之苦的我所赞赏的,许多开源软件包括Rime并不以升级对话框烦人。在这一点上,许多不喜欢频繁更新系统的手机用户想必都大有苦水可吐的是吧。
因此,如果很喜欢Rime的某个特定版本,用户完全可以一直保留、使用着那个版本,直到海枯石烂天荒地老。
也有些朋友说,就是喜欢非赢利性软件的清爽——通常这样的软件不会提醒你去签到、打卡什么的。如此等等的好处,确实存在,虽然不算关键。
【正文】
一、同步
先写同步,是因为这可能是更多人更感兴趣的部分,毕竟许多人的手机加电脑的数量大于一。
我的做法是先编辑installation.yaml文件如下:
installation_id: \"Linux\" sync_dir: /media/sda5/Rimeuser/sync
其中sync_dir这一行是手工加上去的,这里的两个值是我在当前机器(Linux)上的设置,读者应按实际情况写入自己的设置值。例如我在Windows上的设置如下:
installation_id: \"Win\" sync_dir: D:\\Rimeuser\\sync
保存文件,单击Rime图标-部署。
然后,我只要在sync目录下放置不同的文件夹,里面分别放好来自不同机器的***.userdb.txt,单击Rime图标-同步,即可把我在别的设备上的输入记录或曰个人输入词库同步到本机上。
我的同步目录窗口截图如下。
下文Windows部分会提及自动同步,有那么点儿门槛,不高。
二、在Linux上部署Rime(中州韵)
在Linux上我使用ibus-rime,安装命令如下:
apt install ibus fonts-wqy-microhei ibus-rime zenity im-config dbus-X11
安装完成后,
ibus-setup
设置一下ibus(这一步也许可以稍后才做,但先做了也不妨),把Rime加进去。
设置完成后,
im-config
把ibus设为默认输入框架。
接下来,我在 ~/.profile 这个文件里加入如下设置:
export GTK_IM_MODULE=ibus export XMODIFIERS=@im=ibus export QT_IM_MODULE=ibus ibus-daemon -drx
及后我在 /etc/profile 则不经意的发现有如下设置:
export GTK_IM_MODULE=ibus export XMODIFIERS=@im=ibus export QT_IM_MODULE=ibus
这两处设置可能有一处是冗余的,但并不冲突,总之,这样的设置让我可以使用Rime在Linux上打字。
为了方便,以上一律使用root来执行,在你的Linux上,可能需要使用sudo命令。
重启之后,没有异常,便是安装成功。
在某些Linux安装上,可能需要在 ~/.bashrc 文件里加入上述代码,毕竟Linux的实现真是多姿多彩,所以此处的记录仅供参考。
三、在Mac上部署Rime(鼠须管)
很简单,直接到官网下载页下载安装文件即可。我们无须考虑不少介绍Rime的文章里提到的github,以及官网提到的Homebrew这样的词汇——那是供程序员看的,而我们中的大多数人未必都是程序员,忽略那些词汇并不会给我们造成伤害。
一步步跟着提示操作就可以完成安装,然后——“登出再登入”这样的说法可能有点奇怪——“重启电脑”这个操作应该大家都能理解了。经过这一步后,我们就可以用Rime来打字了。
默认会安装上明月拼音,繁体输出,5个候选词。按组合热键 Ctrl + ` (在Esc和Tab键之间) 可弹出菜单,按 2 进入选择简体输出。
这三个默认选项不可能适合每一个人,这可以理解,于是我们来做一点修改。
打开Finder,按下组合热键 command+shift+g 呼出对话框,输入:
~/Library/Rime/
按回车就进入到用户目录。
在这里,通过随便复制任何一个yaml文件或txt文件(小点好),重命名为 default.custom.yaml ,总之,用什么方式都好,首先是要增加这个文件。
接下来用任意处理文本文件的程序打开新生成的 default.custom.yaml 文件,在很多电脑上双击就可以了。
现在,我们来编辑这个文件。
第一步,全选,清空原有内容,粘贴进以下内容(注意格式,有缩进):
patch: menu/page_size: 7 schema_list: - schema: luna_pinyin_simp
这段代码表示:把每页候选词的数量改为7个,只使用明月拼音简体输出。
保存文件,点屏幕右上角输入法切换图标,在鼠须管的图标上单击以呼出菜单,在菜单里选择 Deploy (我的电脑系统语言是英文,在中文环境里估计就是“部署”),这个操作,就是很多文章里讲的“部署”或“重新部署”。
这时应会看到从右边滑出提示,会有两次,耗时大约几秒吧。
这样之后,再打字就能实现只用明月拼音简体输出、每页7个候选词的效果了。
如果想使用五笔86版,只需要在上述 default.custom.yaml 文件里加一句:
- schema: wubi86
即可(每次修改,保存后都要重新部署),配置别的输入方案也是同样的操作,但是前提是要先把想用的输入方案文件放进我们的用户目录(~/Library/Rime/)。
网上可以找到各种五笔、粤拼、吴语、仓颉乃至中古汉语拼音(李白表示想点赞)的输入方案文件,善用互联网吧。
有时候可能会因为各种原因,部署的操作没有如期滑出两次提示,则部署失败了,如果确认自己的操作没有错误,那么一般来说“登出再登入”或“重启电脑”都能自动解决某些奇怪的问题。
四、在Windows上实现全自动同步Rime用户词库
除了安装过程稍嫌漫长之外(可能是个别现象,和我的系统有关),安装很容易,无甚可记。
最新版本似乎不支持Windows XP,因此固守XP系统的读者不妨安装weasel-0.12.0.0即小狼毫0.12版,这可能是对XP系统支持较好的最后一个版本。
给初次安装用户的特别提醒:在Linux、Mac和Windows上,都可以同时按下Ctrl + ` (在Esc和Tab键之间) 调出选择菜单。
在别的平台上我最多只做到了半自动同步(毕竟要手动点一下Rime图标-同步),但在XP系统上我实现了全自动。
先介绍一种做法。
1) 两台Windows电脑之间,可以借助允许指定同步目录的网盘如坚果云,把设定的同步目录(例如我设定的sync目录)及其子目录,作跨电脑同步。最简单的实现方式是:两台电脑的网盘同步目录结构保持一致,并包含你设定的词库同步目录。
2) 把这样一句代码
\"C:\\Program Files\\Rime\\weasel-0.12.0\\WeaselDeployer.exe\" /sync
保存为 rimesync.bat 文件(当然文件名随意,扩展名正确就行)。此处注意,你的Rime安装版本和目录可能跟我的不一样,那么就有可能要按你的情况作少量修改。保存之后,双击试运行这个文件,看看小狼毫是否在同步,如果不是,可能文件中的代码里有拼写错误,仔细检查并修改之。
3) 使用Windows的任务计划来自动执行这个 rimesync.bat 文件。自动同步起作用的时间取决于你的任务计划设定的运行周期。
我个人的做法有点不同。
我的组合套装是:Rclone + webdav + bat + 任务计划,我的bat脚本如下:
d:\\rclone\\rclone copy --max-age 24h rime:sync\\Android D:\\Rimeuser\\sync\\Android d:\\rclone\\rclone copy --max-age 24h rime:sync\\Mac D:\\Rimeuser\\sync\\Mac \"C:\\Program Files\\Rime\\weasel-0.12.0\\WeaselDeployer.exe\" /sync d:\\rclone\\rclone copy --max-age 24h d:\\Rimeuser\\sync\\Win rime:sync\\Win del D:\\Rimeuser\\sync\\Mac\\*.txt /q del D:\\Rimeuser\\sync\\Android\\*.txt /q del D:\\Rimeuser\\sync\\Linux\\*.txt /q
以上批处理命令按顺序先后做这几件事:下载云上的用户词库、启动Rime同步功能、上传同步后的本机词库、删除处理过的多余文件。
Rclone + webdav有点小小的门槛,请读者自行探索,或者选择手动同步。
参考网址:https://rclone.org/
坚果云免费用户的流量限制对于使用其webdav来辅助实现自动同步还是非常足够的。
做完Rclone + webdav + bat的部署后,设置Windows的任务计划就可以实现自动同步了。
上述脚本中,第3行用于启动Rime同步功能:
\"C:\\Program Files\\Rime\\weasel-0.12.0\\WeaselDeployer.exe\" /sync
在Mac和Linux上的对应命令我都没有查到,十分忧伤。
五、在安卓上部署Rime(同文输入法平台TRime)
在安卓上我使用同文输入法TRime,在Rime官网可以找到链接,也可以在酷安下载,因为开发者给出的下载链接之一就指向酷安。
因为有些版本的TRime安装后并没有输入方案,此时只可以打英文,若要打中文等,第一步是进入设置-回厂-全选-恢复;
第二步通过电脑连接,或者网盘下载,把自己想用的输入方案的yaml文件下载到用户目录,部署后即可使用。
例如,如果从官方链接下载好了粤拼输入方案,则把其中的几个扩展名为 yaml 的文件放进手机里的用户目录就完成这一步了。
为了方便同步,你可能需要修改手机里的 installation.yaml 文件,修改内容请参考上面的 Linux 部分。
至此,按一下手机上的“部署”,部署后再次进入设置,把这个软件调教成你喜欢的方式。
这样,你就可以在手机上使用你热爱的输入方案,和你心仪的那人,讨论万有引力和相对论了。
安卓上可以借助FolderSync + webdav实现半自动同步,毕竟还是需要手动按几下的(输入-同步)。
FolderSync请读者自行探索,这不是个彻底免费的应用,因此不好多说。
同文输入法平台TRime相当让人放心,在我的使用中不但从未有崩溃过,而且看起来,这个应用根本就不打算访问互联网,这是个很好很重要的特性。
六、在iOS上部署Rime(第三方实现)
在iOS上安装也很容易,但传输文件是通过局域网访问设备上的网页来实现,并且不能自动覆盖旧文件,这也许是各平台中最麻烦的方式了吧。
这也不是个彻底免费的应用,因此不也好多说。
但是它的逐步联想的功能还是值得称许的。
七、结束语
作者在摸索过程中多少也付出了一些努力,因此对于本文,欢迎符合下述要求的传播转载,并感谢这样的扩散。
一、保持原貌;
二、注明出处,并附上本文网址。
如果觉得本文有帮助,请分享到你的朋友圈、微博,以期让更多人得到帮助,谢谢。
本文在Linux上用Rime写成,首发于博客园。
特别鸣谢:Rime的作者佛振、同文输入法TRime的作者osfans。
(2019年6月9日初稿)