IBus (Intelligent Input Bus) is an open source input framework for Linux and Unix.
USE flags for app-i18n/ibus Intelligent Input Bus for Linux / Unix OS
||Add support for X11|
||Build in support for notifications using the libindicate or libappindicator plugin|
||Enable support for Emoji|
||Enable the GTK-2 input method module|
||Enable the GTK-3 input method module|
||Enable the GTK-4 input method module|
||Enable support for a graphical user interface|
||Add support for GObject based introspection|
||Enable desktop notification support|
||Add Native Language Support (using gettextGNU locale utilities)|
||Add optional support/bindings for the Python language|
||Enable use of systemd-specific libraries and features like socket activation or session tracking|
||Enable dependencies and/or preparations necessary to run tests (usually controlled by FEATURES=test but can be toggled independently)|
||Enable support for Unicode choice|
||Enable bindings for dev-lang/vala|
||Enable dev-libs/wayland backend|
As well as the basic IBus framework, one or more engines should be installed. For example:
emerge --ask app-i18n/ibus ibus-libpinyin
For IBus to work with Qt 5 / KDE 5 / Plasma, USE=ibus needs to be set on at least dev-qt/qtgui and kde-plasma/plasma-desktop:
dev-qt/qtgui ibus kde-plasma/plasma-desktop ibus
And those packages rebuilt to reflect that change:
emerge --ask --oneshot --newuse dev-qt/qtgui kde-plasma/plasma-desktop
If Ibus doesn't work with KDE Gear/ KDE Applications, add the following in the /etc/environment file:
GTK_IM_MODULE=ibus QT_IM_MODULE=ibus XMODIFIERS=@im=ibus
Have a look at the eix output for more available engines:
eix -c -S engine app-i18n/ibus
For graphical toolkit integration, app-i18n/ibus offers
gtk (this refers to gtk+:2) and
The app-i18n/im-chooser package can be helpful for selecting the preferred input method.
If nothing starts (no ibus daemon) when a user logs in, put the following in the ~/.bashrc or ~/.xinitrc file then reboot session:
export XMODIFIERS=@im=ibus export GTK_IM_MODULE=ibus export QT_IM_MODULE=ibus # Use `xim` in case some Electron apps (like Chromium) refuse to work with IBus # export GTK_IM_MODULE=xim # export QT_IM_MODULE=xim ibus-daemon -drx
The installation can be finely tuned by running:
ibus-setup can be used to set the preferred input methods, the system keyboard, or to add an icon in the taskbar.
When using GNOME, type "ibus" in the search bar and launch "ibus-preferences"
The Input Method Panel widget in KDE may provide a better integrated experience with IBus on KDE. In 64-bit architectures, to launch IBus with Input Method Panel, first enable the widget and then run:
ibus-daemon -drx --panel=/usr/lib64/libexec/kimpanel-ibus-panel
The command-line ibus utility may also be used, in place of ibus-setup:
ibus engine m17n:t:unicode # For example
Compose key will stop working when ibus engine is not
To inform Qt ibus is now the input method, run:
- How to read and write in Japanese — how to read and write in Japanese on a non-Japanese system.
- How_to_read_and_write_in_Chinese — how to read and write in Chinese on a non-Chinese system.
- Ibus-libpinyin — a Chinese input engine