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||global|
||Enable support for Emoji||local|
||Enable support for gnome-base/gconf||local|
||Add support for x11-libs/gtk+ (The GIMP Toolkit)||global|
||Enable support for x11-libs/gtk+:2||local|
||Add support for GObject based introspection||global|
||Add support for KDE (K Desktop Environment)||global|
||Enable desktop notification support||global|
||Add Native Language Support (using gettext - GNU locale utilities)||global|
||Add optional support/bindings for the Python language||global|
||Workaround to pull in packages needed to run with FEATURES=test. Portage-2.1.2 handles this internally, so don't set it in make.conf/package.use anymore||global|
||Enable bindings for dev-lang/vala||global|
||Enable dev-libs/wayland backend||global|
Except for the basic IBus framework, one or more engines should be installed. For example:
emerge --ask app-i18n/ibus ibus-pinyin
Have a look at the eix output for more available engines:
eix -c ibus -I app-i18n
For graphical toolkit integration, app-i18n/ibus offers
gtk (this refers to gtk+:2) and
gtk3 flags. There is a separate app-i18n/ibus-qt package for Qt (including KDE) as well. Do not forget to install this latest package if KDE/QT is the main desktop environment for the system.
The app-i18n/im-chooser package can helpful for selecting the preferred input method. As of now all im-chooser packages in the Portage tree are marked unstable.
If nothing starts (no ibus daemon) when a user logs in, put the following in the ~/.xprofile file:
export GTK_IM_MODULE=ibus export XMODIFIERS=@im=ibus export QT_IM_MODULE=ibus 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.
You may also use the command-line ibus utility, if you can't or don't want to use ibus-setup:
ibus engine m17n:t:unicode # For example
To inform Qt ibus is now the input method, run: