1、简介
IBus(英文全称为Intelligent Input Bus),是GNU/Linux和类UNIX操作系统下的以GPL协议分发源代码的开源免费多语言输入法框架。
因为它采用了总线(Bus)式的架构,所以命名为Bus。IBus支持多种输入法,如拼音输入法(包括全/简/双拼),并支持基于码表的输入法,如五笔、郑码、二笔和仓颉等输入法,是多个流行的GNU/Linux发行版(如Debian,RedHat等)的默认非英文输入法平台。
2、系统架构
IBus 是用C及 Python 开发的,如此可以避免 C++ABI transition 问题。IBus主要通过下列三种服务(Service)来提供功能:
输入法引擎服务:为输入法本身。
配置服务:管理IBus以及输入法的设置选项。
控制皮肤服务:提供诸如语言条,候选字菜单等用户界面。
IBus 使用D-Bus作 ibus-daemon服务,以及 IM客户端(像是konsole, gedit, firefox)之间的沟通。 ibus-daemon 通过接受服务登录,以及发送D-Bus信息来管理服务及IM客户端。
IBus支持 XIM