ibus-1.5.31

Introduction to ibus

ibus is an Intelligent Input Bus. It is a new input framework for the Linux OS. It provides a fully featured and user friendly input method user interface.

[Note]

Note

Development versions of BLFS may not build or run some packages properly if LFS or dependencies have been updated since the most recent stable versions of the books.

Package Information

Additional Downloads

ibus Dependencies

Required

DConf-0.40.0, ISO Codes-4.17.0, and Vala-0.56.17

Recommended

Optional

GTK-Doc-1.34.0 (for generating API documentation), D-Bus Python-1.3.2 and PyGObject-3.50.0 (both to build the Python support library), libxkbcommon-1.7.0, Wayland-1.23.0 (both to build the Wayland support programs), EmojiOne, and libdbusmenu

Installation of ibus

First, install the Unicode Character Database as the root user:

mkdir -p               /usr/share/unicode/ucd &&
unzip -o ../UCD.zip -d /usr/share/unicode/ucd

Fix an issue with deprecated schema entries:

sed -e 's@/desktop/ibus@/org/freedesktop/ibus@g' \
    -i data/dconf/org.freedesktop.ibus.gschema.xml

If GTK-Doc-1.34.0 is not installed, remove the references to it:

if ! [ -e /usr/bin/gtkdocize ]; then
  sed '/docs/d;/GTK_DOC/d' -i Makefile.am configure.ac
fi

Install ibus by running the following commands:

SAVE_DIST_FILES=1 NOCONFIGURE=1 ./autogen.sh &&

PYTHON=python3                     \
./configure --prefix=/usr          \
            --sysconfdir=/etc      \
            --disable-python2      \
            --disable-appindicator \
            --disable-emoji-dict   \
            --disable-gtk2         \
            --disable-systemd-services &&
make

To test the results, issue: make -k check. The test named ibus-compose fails because it uses some locales not installed in LFS. The test named ibus-keypress will fail if running in a Wayland session. The xkb-latin-layouts test is also known to fail on some systems.

Now, as the root user:

make install

Command Explanations

--disable-appindicator: This switch disables use of libdbusmenu. Omit if you installed the optional dependency.

--disable-emoji-dict: This switch disables the use of emoticon dictionaries. Omit if you installed the optional package.

--disable-gtk2: This switch removes the dependency on GTK+-2.

--disable-gtk4: This switch disables building the GTK 4 immodule. Use it if you don't want to install GTK 4.

--enable-python-library: This switch enables building the Python support library. Use it if you have installed the optional Python modules.

--enable-wayland: This switch enables building the Wayland support programs. It's automatically enabled if both libxkbcommon-1.7.0 and Wayland-1.23.0 are installed.

NOCONFIGURE=1: Prevent autogen.sh from running the generated configure script. We'll run the script manually instead of relying on autogen.sh to run it, because autogen.sh would set -fsanitize=address -fsanitize=leak in CFLAGS running configure, but those compiler options are not suitable for productive use and they may also cause a build failure.

PYTHON=python3: This environment variable makes the configure script look for Python 3. Use it if you want to build the Python 3 support library.

SAVE_DIST_FILES=1: This environment variable makes the autogen.sh script save some pre-generated header files instead of overwriting them when it is run. This prevents build failures when generating ibusemojigen.h.

--enable-gtk-doc: Use this parameter if GTK-Doc is installed and you wish to rebuild and install the API documentation.

Configuring Ibus

If GTK+-3 is installed and --disable-gtk3 is not used, the ibus IM module for GTK+-3 will be installed. As the root user, update a cache file of GTK+-3 so the GTK-based applications can find the newly installed IM module and use ibus as an input method:

gtk-query-immodules-3.0 --update-cache

The command above updates the cache file for GTK+-3. GTK-4 does not require a cache file for IM modules.

Contents

Installed Programs: ibus, ibus-daemon, and ibus-setup
Installed Library: libibus-1.0.so and im-ibus.so (GTK+ Immodule)
Installed Directories: /etc/dconf/db/ibus.d, /usr/include/ibus-1.0, /usr/share/gtk-doc/html/ibus, and /usr/share/ibus

Short Descriptions

ibus-daemon

is the Intelligent Input Bus Daemon

ibus-setup

is the GTK+ program used to configure the ibus-daemon

libibus-1.0.so

contains the ibus API functions