IBus (Intelligent Input Bus)

Linux/Unix向けの入力メソッドフレームワーク(IMF)。Red HatのHuang Pengが開発し、2008年に初リリースされた。名前の「Bus」は、その名の通りバス的なアーキテクチャに由来する。

アーキテクチャ

D-Busを使ってibus-daemon・各入力エンジン・アプリケーション(IMクライアント: 端末エミュレータ、エディタ、ブラウザなど)間を通信させる、モジュール式のD-Busベース設計。ibus-daemonが中心的なハブとなり、アプリケーションからの入力イベントを入力エンジンへルーティングし、エンジンからのUI更新をアプリケーションやパネルへ返す役割を担う。主要コンポーネントはdaemon・input context・engine proxy・panel proxyで構成される。

Fcitx.so共有ライブラリをdlopenで動的ロードするアドオン機構でエンジンやフロントエンドを拡張するのに対し、IBusはD-Busのメッセージングを介してプロセス間で疎結合にエンジンと連携する点がアーキテクチャ上の対比点。

採用history

2009年、Fedora 11でSCIMを置き換えてデフォルトの入力メソッドフレームワークになり、同年Ubuntu 9.10でもSCIMからの移行が進んだ。現在もGNOMEに深く統合されており、GNOME環境でのデフォルトIMFという位置づけが強い。

手元での観測

bpftraceの実験do_nanosleepを追跡した際、ibus-ui-gtk3が定期的にポーリング/スリープしているデーモンプロセスとして観測された。

入力メソッドフレームワークの中での位置づけ

SCIMの後継としてFedora/Ubuntuのデフォルトの座を得たIMF。D-Busベースの疎結合な設計で、特にGNOME環境との親和性が高い。

出典

#linux #ime

作成日時: 2026-08-15 22:18 / 更新日時: 2026-08-15 22:18