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.
Development versions of BLFS may not build or run some packages properly if dependencies have been updated since the most recent stable versions of the book.
Download (HTTP): https://github.com/ibus/ibus/releases/download/1.5.27/ibus-1.5.27.tar.gz
Download MD5 sum: 3590d33fbd84e041acb75fcee818b504
Download size: 3.6 MB
Estimated disk space required: 66 MB (add 3 MB for tests)
Estimated build time: 0.2 SBU (Using parallelism=4; add 0.6 SBU for tests)
Unicode Character Database: https://www.unicode.org/Public/zipped/15.0.0/UCD.zip
DConf-0.40.0, ISO Codes-4.12.0, and Vala-0.56.3
gobject-introspection-1.74.0, GTK+-2.24.33, and libnotify-0.8.1
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
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
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/[email protected]' \ 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 \ --disable-systemd-services && 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}
--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.
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.