Intelligent Input Bus (IBus) | |
開發者 | 黃鵬 |
---|---|
首次釋出 | 2008年8月10日 |
穩定版本 | 1.5.27 (2022年8月22日 ) |
程式語言 | C, Python |
作業系統 | Unix-like |
語言 | 多語 |
類型 | 輸入法 |
特許條款 | GNU較寬鬆公共許可證 v2 |
網站 | IBus 專案頁面 |
中文輸入法 | |
發明人 | 黃鵬 |
---|---|
發明年份 | 2008年8月10日 |
類別 | 拼音 |
Intelligent Input Bus,簡稱IBus,是 Unix-like 作業系統下的多語輸入法平台。因為它採用了匯流排(Bus)式的架構,所以命名為Bus。
目標
IBus 的主要目標如下:
開發動機
在東北亞開源軟件(OSS)討論區第3工作小組[1]提出的「輸入法引擎服務提供者介面規格」(Specification of IM engine Service Provider Interface)草案裏[2],能實現以Bus為核心的架構被建議採用。SCIM-1.4 的架構並不被看好,因為它是用C++開發的,因此常常會有C++應用二進位介面不符合的情況發生[3]。
從那時起,一些人開始着手開發下一代的輸入法平台,像是蘇哲領導的IM-Bus,以及胡正的SCIM-2,可惜的是它們的開發進度仍然停滯不前。因此,時任紅帽(現任Google)的黃鵬開始用Python開發IBus以實現 IM-Bus提出的構想。IBus 並不完全實現東北亞OSS討論區所建議的函數,而是採用D-Bus及Glib來實做。儘管如此,IBus已經開始被OSS社群所接受,FreeBSD以及各大Linux發行版 如Fedora、Ubuntu已經將 IBus 納入其套件庫裏。在 Fedora 11 裏,IBus已經成為預設的多語輸入平台[4]。
系統架構
IBus 是用 C 及 Python 開發的,如此可以避免 C++ ABI transition 問題。IBus主要透過下列三種服務(Service)來提供功能:
- 輸入法引擎服務:為輸入法本身。
- 組態服務:管理IBus以及輸入法的設置選項。
- 控制面板服務:提供諸如語言條,候選字選單等用戶介面。
IBus 使用D-Bus作 ibus-daemon服務以及 IM客戶端之間的溝通。
ibus-daemon 透過接受服務登錄,以及發送D-Bus訊息來管理服務及IM客戶端。
IBus支援 XIM 協定及 Gtk IM 模組以及 Qt IM 模組。
特點
缺陷
參閱
參考資料
- Linux進化特區:Ubuntu 12.04 從入門到精通
外部連結
- IBus 首頁
- IBus Git 原始碼
- Comparison of Chinese Input Method Servers for Unix-like Operating Systems