IBus

From Gentoo Wiki
Jump to: navigation, search

IBus (Intelligent Input Bus) is an open source input framework for Linux and Unix.

Installation

USE flags

Optional USE flags for app-i18n/ibus:
USE flag (what is that?) Default Recommended Description
X Yes Add support for X11
deprecated No install the deprecated ibus python library
gconf No Enable support for gnome-base/gconf
gtk Yes Add support for x11-libs/gtk+ (The GIMP Toolkit)
gtk3 Yes Enable support for gtk+3
introspection Yes Use dev-libs/gobject-introspection for introspection
nls Yes Add Native Language Support (using gettext - GNU locale utilities)
python Yes Add optional support/bindings for the Python language
vala No Enable support for dev-lang/vala
wayland No Enable dev-libs/wayland backend

Emerge

Except for the basic IBus framework, one or more engines should be installed. For example:

root #emerge --ask app-i18n/ibus ibus-pinyin

Configuration

Have a look at the eix output for more available engines:

user $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:

FILE ~/.xprofile
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:

user $ibus-setup

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:

user $ibus list-engine
user $ibus engine m17n:t:unicode # For example

To inform Qt ibus is now the input method, run:

user $qtconfig

See also