1. 程式人生 > >在五種不同系統上部署Rime並同步

在五種不同系統上部署Rime並同步

【前言】

本文記錄作者在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日初