IBus
IBus (Intelligent Input Bus) is an open source input framework for Linux and Unix.
Installation
USE flags
USE flags for app-i18n/ibus Intelligent Input Bus for Linux / Unix OS
+emoji
Enable support for Emoji
+gtk3
Enable the GTK-3 input method module
+gtk4
Enable the GTK-4 input method module
+gui
Enable support for a graphical user interface
+introspection
Add support for GObject based introspection
+python
Add optional support/bindings for the Python language
+unicode
Enable support for Unicode choice
X
Add support for X11
appindicator
Build in support for notifications using the libindicate or libappindicator plugin
gtk2
Enable the GTK-2 input method module
libnotify
Enable desktop notification support
nls
Add Native Language Support (using gettext - GNU locale utilities)
systemd
Enable use of systemd-specific libraries and features like socket activation or session tracking
test
Enable dependencies and/or preparations necessary to run tests (usually controlled by FEATURES=test but can be toggled independently)
vala
Enable bindings for dev-lang/vala
wayland
Enable dev-libs/wayland backend
Emerge
As well as the basic IBus framework, one or more engines should be installed. For example:
root #emerge --ask app-i18n/ibus ibus-libpinyinHave a look at the eix output for more available engines:
user $eix -c -S engine app-i18n/ibusFor graphical toolkit integration, app-i18n/ibus offers gtk2, gtk3 and gtk4 flags.
KDE
For IBus to work with Qt 5 / KDE 5 / Plasma, the ibus USE flag needs to be set on at least dev-qt/qtgui and kde-plasma/plasma-desktop :
/etc/portage/package.use/ibusdev-qt/qtguiibus kde-plasma/plasma-desktopibus
And those packages rebuilt to reflect that change:
root #emerge --ask --oneshot --newuse dev-qt/qtgui kde-plasma/plasma-desktopConfiguration
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, add the following environment variables and log out:
exportXMODIFIERS=@im=ibus exportGTK_IM_MODULE=ibus exportQT_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:
user $ibus-setupibus-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 command-line ibus utility may also be used, in place of ibus-setup:
user $ibus list-engineuser $ibus engine m17n:t:unicode # For exampleTo inform Qt ibus is now the input method, run:
user $qtconfigPlasma
On Plasma, the daemon should be started with ibus-daemon -dr --panel=/usr/libexec/kimpanel-ibus-panel instead.
The path to pass to
--panel is somewhat system-dependent. Older systems in particular may have it at /usr/lib64/libexec/kimpanel-ibus-panel instead. To find the right path for your system, ensure that kde-plasma/plasma-desktop is installed with the ibus USE flag, and then search the list of files installed by that package for kimpanel-ibus-panel, using e.g. qlist kde-plasma/plasma-desktop | grep kimpanel-ibus-panel or equery files kde-plasma/plasma-desktop | grep kimpanel-ibus-panel.This line should be placed in a login script, not a pre-startup script. See Knowledge Base:Configuring environment variables for more information.
The Input Method Panel widget in KDE may provide a better integrated experience with IBus on KDE. To launch IBus with Input Method Panel, add the widget by right-clicking on a panel or the desktop and typing Alt+D then A.
See also
- 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