Home

IBUs

IBus, or Intelligent Input Bus, is an open-source input method framework for Linux and other Unix-like systems. It provides a unified interface for multiple input methods (IMEs) and routes keyboard input to language-specific engines. The system runs as a per-user daemon and integrates with GTK and Qt frontends, enabling desktop environments such as GNOME and KDE to switch between languages.

The core component is the ibus-daemon, which manages engine selection, input events, and the preedit area. Engines

Engines and languages: A wide range of engines exist for Chinese, Japanese, Korean, Indic languages, Vietnamese,

Features and workflow: As users type, the engine builds a preedit string and presents candidate completions.

History and usage: IBus was developed as a modern, modular alternative to older input-method frameworks. It

are
implemented
as
separate
modules
(ibus-engine-*)
that
provide
the
logic
for
specific
languages
and
input
methods.
The
frontend
communicates
with
the
daemon
via
a
standard
protocol,
and
libraries
such
as
libibus
support
integration
into
GTK
and
Qt
applications.
and
other
scripts.
Users
can
install
additional
engines
and
switch
among
them
at
runtime
through
keyboard
shortcuts
or
the
IBus
preference
panel.
The
user
can
accept
a
candidate
to
commit
the
corresponding
characters.
IBus
supports
dead
keys,
Unicode
composition,
and
complex
scripts,
as
well
as
layout
switching
and
language
selection.
It
integrates
with
GNOME,
KDE
and
other
desktops
and
provides
indicators
and
panels
to
manage
input
methods.
is
widely
used
on
Linux
desktops
and
is
included
in
major
distributions,
often
alongside
GNOME
or
KDE
integrations.
It
competes
with
other
frameworks
such
as
Fcitx
and
SCIM,
and
continues
to
receive
contributions
from
the
open-source
community.