在 Xwindow 的圖形接口底下,由于各程序間的交互作用是以「窗口」為單位,它們可以藉由標準的 X 協議達到彼此間的溝通,故我們自然而然地可以將中文終端機程序與輸入法本身分開發展(輸入與輸出是兩個獨立的應用程序,可以通過X協議來傳遞數據),而不再需要像純文字模式下將二者綁在一起 (在早期確有將二者綁在一起的解決方案。
舉個例子,比如 cxterm,它是直接自 Xwindow 的標準終端機程序 xterm 修改而來),如此在一個圖形桌面上只需執行一個中文輸入法,就可以對許多中文終端機程序提供中文輸入的服務,不但節省系統資源,同時模塊化的開發模式也讓后續維護工作容易得多。
◆一、SCIM
SCIM (Smart Common Input Method) 智能通用輸入法平臺。也是個人開發(這里個人只是相對于公司而言,與是否Team work無關),作者為蘇哲。SCIM使用C++編程語言寫成。
SCIM是一個通用的輸入法開發平臺, 用以簡化輸入法的開發和維護. SCIM 還包括完整的 XFree86 窗口系統輸入法應用程序.前面說過,Xsim與Windows下的紫光拼音非常相像,而Scim簡直就是微軟拼音的Linux版了。它和微軟拼音一樣使用“”做頓號;會根據上下文自動選擇雙引號;在用Shift進行中英文切換時,中英文標點也會自動切換;支持繁體輸入等。
SCIM 采用完全模塊化的架構設計, 輸入法引擎, 配置存儲 和 前端協議都采用獨立的模塊實現. 目前 SCIM 包含的前端協議模塊有 x11 模塊 (用以支持 XIM 協議) 和 socket 模塊(用以支持網絡傳輸協議). 包含的配置存儲模塊有 simple 模塊(將配置存儲在文本文件中) 和 gconf 模塊(將配置存儲在 GConf 配置系統中). 包含的輸入法引擎模塊有 rawcode 模塊(內碼輸入法) 和 table 模塊(通用碼表輸入法)。
啟動 SCIM 最簡單的命令就是 scim -d, 該命令以后臺進程形式啟動 SCIM 的 XFree86 XIM 前端模塊, 并調入搜索到的所有輸入法模塊. SCIM 的 XIM 前端模塊默認使用的輸入法名稱是 "SCIM", 因此如果想在應用程序里面使用 SCIM, 必須設置環境變量 XMODIFIERS="@im=SCIM"。
1.使用
修改i18n文件、進入X-Window以后,除了不會出現狀態條,其它使用方法基本類似,而且在KDE和GNOME中都很好用。
2.配置
Scim的用戶配置文件是$HOME/.scim/config.zh_CN。這里文件名根據用戶的Locale設置可能不盡相同。
◆二、Xsim輸入法
Xsim全稱為X Simple Input Method,作者是楚狂,是目前應用較多的中文輸入軟件。它的界面很漂亮,可定制性較強,光標跟隨做得很好,但是系統依賴性較強。如果需要的相關軟件不全,甚至版本不同都可能造成安裝失敗。
1.安裝
Xsim的安裝和其它軟件類似,需要注意的是,它使用了db4 C++庫,所以應該保證系統中已安裝了libdb4、libdb4cxx等軟件包。如果使用源代碼安裝,還需要libdb4-devel包。如果用RPM 安裝的話,請盡量使用和系統版本完全一致的發布版,如Mandrake 9.0與9.1就有所不同。我建議使用源代碼方式安裝。
2.使用
修改/etc/sysconfig/i18n文件進行配置,配置好以后,進入X-Window,可以看見左下角的“簡”字,說明Xsim已正常啟動。默認情況下,按“Ctrl+Space”啟動中文輸入,這時“簡”字會有半個三角變成綠色,同時出現一個中文的句號,表示現在處于中文文字(拼音)及標點輸入狀態。其它與Windows下的紫光拼音完全一樣,用Shift鍵快速切換中英文;用“,”和“.”在可選字中翻頁;中文頓號是斜杠“/”,而不是通常的 “”;其它如用“Ctrl+Shift”切換拼音和五筆;用“Ctrl+.”切換中英文標點等,都符合Windows用戶的習慣。
3.配置
Xsim的默認配置文件是/usr/local/xsim/etc/xsimrc。我們可以在這里配置狀態條(就是那個簡字)和輸入條的字體、顏色等,該文件帶有說明和例子,非常簡單明了。
4.缺點
每次啟動X-Window以后,狀態條都會出現在右下角,沒有保存上次的位置狀態,而且在KDE下的表現不如GNOME。另外,常見詞組似乎不太符合慣例,一些使用頻率較高的詞組要翻幾次才能找到。
◆三、Fcitx
Fcitx是Free Chinese Input Toy for X的簡寫,最初稱作G五筆,又是一個個人作品,作者為Yuking。它默認支持智能拼音、區位和五筆輸入。該輸入法現在還有一個專門的中文名,叫小企鵝輸入法,它擁有不少的愛好者,里面有詳盡的安裝、設置介紹,這里就不再重復。它的切換方式比較獨特,用左Ctrl鍵快速切換中英文,左Shift+空格切換中英文標點。
◆四、Chinput
Chinput大概算得上是Linux圖形界面下較早的中文輸入法了,因此文檔比較豐富,目前已經是3.0.2版,它支持最多的輸入方式,也有很多可供配置的選項,如字體、顏色等,主要配置文件是/usr/lib/ZWinpro/Chinput.ad。我個人認為它就像 Windows下的智能ABC,基本功不錯,但是在界面和易用性上創新不夠。
它的缺點是不能進行中英文的快速切換,還在使用v+英文的快速輸入方式。有時安裝會出現一些錯誤,例如在Mandrake 9.1中要想使用默認的Chinput輸入法,還得手工修改兩處:
修改/usr/lib/ZWinpro/Chinput.ad,將chinput.gblocale由zh_CN.GB2312改為zh_CN;
拷貝/usr/lib/unicon/modules/cce/dict/userphrase.tab到$HOME/.pyinput/下。
當然這些和Mandrake也有關系。
◆五:Xcin
Xcin是臺灣同胞的作品,因此習慣上與我們差別較大,如默認使用空格鍵翻頁,不支持拼音詞組。它雖然很多選項都可以自己配置,但仍略顯麻煩,所以不推薦使用。
使用Xcin需要注意的幾個地方是,它根據不同的Locale需要不同的XMODIFIERS變量。例如,如果是默認的zh_CN.BIG5,可能只需要設置@im=xcin就可以了,但在簡體中文環境下,可能是xcin-zh_CN、xcin-zh_CN.GB2312等。要是不敢確定,在命令行中運行 xcin,會顯示所需的變量名,照搬就可以了。
當然,Linux下的中文輸入法也不是只有這幾種,例如陳橋智能五筆,也包括智能五筆、智能拼音,但是由于存在GPL糾紛,所以用的人不多。