ibus-1.5.27

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.

This package is known to build and work properly using an LFS 11.3 platform.

Package Information

Optional Download

ibus Dependencies

Required

DConf-0.40.0, ISO Codes-4.12.0, and Vala-0.56.4

Recommended

Optional

GTK+-3.24.36 (to build IM module for it), GTK-4.8.3 (to build IM module for it), D-Bus Python-1.3.2 and PyGObject-3.42.2 (both to build the Python support library), GTK-Doc-1.33.2, and libxkbcommon-1.5.0, Wayland-1.21.0 (both to build the Wayland support programs), and EmojiOne

User Notes: https://wiki.linuxfromscratch.org/blfs/wiki/ibus

Installation of ibus

If the optional Unicode Character Database was downloaded, install it now as the root user:

mkdir -p                /usr/share/unicode/ucd &&
unzip -uo ../UCD.zip -d /usr/share/unicode/ucd
[Note]

Note

Be sure to also remove the --disable-unicode-dict in the configure step below.

Fix an issue with deprecated schema entries:

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

Install ibus by running the following commands:

./configure --prefix=/usr          \
            --sysconfdir=/etc      \
            --disable-python2      \
            --disable-emoji-dict   \
            --disable-unicode-dict &&
rm -f tools/main.c                 &&
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 is known to fail in a Wayland based desktop environment. The test named xkb-latin-layouts is known to fail with a recent xkeyboard-config release. The test named test-override-ibus.py is known to fail if Python support library is enabled.

Now, as the root user:

make install &&
gzip -dfv /usr/share/man/man{{1,5}/ibus*.gz,5/00-upstream-settings.5.gz}

Command Explanations

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

--disable-unicode-dict: This switch disables the use of unicode dictionaries. Omit if you installed the optional Unicode Character Database.

rm -f tools/main.c: This command removes a generated file that was not removed when packaging.

--disable-gtk2: This switch disables building the GTK+ 2 immodule. Use it if you have not installed GTK+ 2.

--enable-gtk4: This switch enables building the GTK 4 immodule. Use it if you have installed GTK 4.

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

--enable-wayland: This switch enables building the Wayland support programs. Use it if you have installed the optional dependencies.

--with-python=python3: This switch makes the configure script look for Python 3. Use it if you want to build the Python 3 support library alongside the Python 2 one.

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

gzip -dfv ...: Decompress installed man pages in accordance with other man pages.

Configuring Ibus

If GTK+-3 or GTK+-2 are installed and --disable-gtk{3,2} are not used, the ibus IM module for GTK+-3 or GTK+-2 will be installed. As the root user, update a cache file of GTK+-3 or GTK+-2 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. For GTK+-2, use gtk-query-immodules-2.0 instead of gtk-query-immodules-3.0. 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