source: general/genutils/ibus.xml@ c1fef61d

12.2 trunk
Last change on this file since c1fef61d was 0b1ad94, checked in by Douglas R. Reno <renodr@…>, 3 weeks ago

ibus: remove instructions on configuring the immodule for GTK+-2

  • Property mode set to 100644
File size: 12.1 KB
Line 
1<?xml version="1.0" encoding="UTF-8"?>
2<!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
3 "http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" [
4 <!ENTITY % general-entities SYSTEM "../../general.ent">
5 %general-entities;
6
7 <!ENTITY ibus-download-http "https://github.com/ibus/ibus/archive/&ibus-version;/ibus-&ibus-version;.tar.gz">
8 <!ENTITY ibus-download-ftp " ">
9 <!ENTITY ibus-md5sum "a7facee0030e0e6adb41ecfd94be9e61">
10 <!ENTITY ibus-size "1.5 MB">
11 <!ENTITY ibus-buildsize "55 MB (add 3 MB for tests)">
12 <!ENTITY ibus-time "0.4 SBU (Using parallelism=4; add 0.8 SBU for tests)">
13<!-- Since UCD.zip can be used by gucharmap too, let's use the same version:
14 This prevents version mismatches, since UCD.zip filename is not versioned.
15-->
16 <!ENTITY ucd-download-http "https://www.unicode.org/Public/zipped/&gucharmap-major-version;.0/UCD.zip">
17]>
18
19<sect1 id="ibus" xreflabel="ibus-&ibus-version;">
20 <?dbhtml filename="ibus.html"?>
21
22
23 <title>ibus-&ibus-version;</title>
24
25 <indexterm zone="ibus">
26 <primary sortas="a-ibus">ibus</primary>
27 </indexterm>
28
29 <sect2 role="package">
30 <title>Introduction to ibus</title>
31
32 <para>
33 <application>ibus</application> is an Intelligent Input Bus. It is a new
34 input framework for the Linux OS. It provides a fully featured and user
35 friendly input method user interface.
36 </para>
37
38 &lfs122_checked;
39
40 <bridgehead renderas="sect3">Package Information</bridgehead>
41 <itemizedlist spacing="compact">
42 <listitem>
43 <para>
44 Download (HTTP): <ulink url="&ibus-download-http;"/>
45 </para>
46 </listitem>
47 <listitem>
48 <para>
49 Download (FTP): <ulink url="&ibus-download-ftp;"/>
50 </para>
51 </listitem>
52 <listitem>
53 <para>
54 Download MD5 sum: &ibus-md5sum;
55 </para>
56 </listitem>
57 <listitem>
58 <para>
59 Download size: &ibus-size;
60 </para>
61 </listitem>
62 <listitem>
63 <para>
64 Estimated disk space required: &ibus-buildsize;
65 </para>
66 </listitem>
67 <listitem>
68 <para>
69 Estimated build time: &ibus-time;
70 </para>
71 </listitem>
72 </itemizedlist>
73
74 <bridgehead renderas="sect3">Additional Downloads</bridgehead>
75
76 <itemizedlist spacing="compact">
77 <listitem>
78 <para>
79 Unicode Character Database:
80 <ulink url="&ucd-download-http;"> &ucd-download-http;</ulink>
81 </para>
82 </listitem>
83 </itemizedlist>
84
85 <bridgehead renderas="sect3">ibus Dependencies</bridgehead>
86
87 <bridgehead renderas="sect4">Required</bridgehead>
88 <para role="required">
89 <xref linkend="dconf"/>,
90 <!-- needed since we're using autogen.sh -->
91 <xref linkend="iso-codes"/>, and
92 <xref linkend="vala"/>
93 </para>
94
95 <bridgehead renderas="sect4">Recommended</bridgehead>
96 <para role="recommended">
97 &gobject-introspection;,
98 <xref linkend="gtk3"/>, and
99 <xref linkend="libnotify"/>
100 </para>
101
102 <bridgehead renderas="sect4">Optional</bridgehead>
103 <para role="optional">
104 <xref linkend="gtk4"/> (to build IM module for it),
105 <xref linkend="gtk-doc"/> (for generating API documentation),
106 <xref linkend="dbus-python"/> and
107 <xref linkend="pygobject3"/> (both to build the Python support library),
108 <!--<xref linkend="pyxdg" role="runtime"/>
109 (runtime, for the <command>ibus-setup</command>), and
110 NOTE: The reference to the 'xdg' python module is commented out in the source -->
111 <xref linkend="libxkbcommon"/>,
112 <xref linkend="wayland"/> (both to build the Wayland support programs),
113 <ulink url="https://www.joypixels.com/">EmojiOne</ulink>, and
114 <ulink url="https://github.com/AyatanaIndicators/libdbusmenu">libdbusmenu</ulink>
115 </para>
116
117 </sect2>
118
119 <sect2 role="installation">
120 <title>Installation of ibus</title>
121
122<!--
123 <para>
124 If the optional Unicode Character Database was downloaded, install it
125 now as the <systemitem class="username">root</systemitem> user:
126 </para>
127-->
128
129 <para>
130 First, install the Unicode Character Database as the &root; user:
131 </para>
132
133<screen role="root"><userinput>mkdir -p /usr/share/unicode/ucd &amp;&amp;
134unzip -o ../UCD.zip -d /usr/share/unicode/ucd</userinput></screen>
135
136<!--
137 <note>
138 <para>
139 Be sure to also remove the - -disable-unicode-dict in
140 the configure step below.
141 </para>
142 </note>
143-->
144 <para>
145 Fix an issue with deprecated schema entries:
146 </para>
147
148<screen><userinput>sed -e 's@/desktop/ibus@/org/freedesktop/ibus@g' \
149 -i data/dconf/org.freedesktop.ibus.gschema.xml</userinput></screen>
150
151 <para>
152 If <xref linkend='gtk-doc'/> is not installed, remove the references
153 to it:
154 </para>
155
156<screen><userinput>if ! [ -e /usr/bin/gtkdocize ]; then
157 sed '/docs/d;/GTK_DOC/d' -i Makefile.am configure.ac
158fi</userinput></screen>
159
160 <para>
161 Install <application>ibus</application> by running the following
162 commands:
163 </para>
164
165<screen revision='sysv'><userinput>SAVE_DIST_FILES=1 NOCONFIGURE=1 ./autogen.sh &amp;&amp;
166
167PYTHON=python3 \
168./configure --prefix=/usr \
169 --sysconfdir=/etc \
170 --disable-python2 \
171 --disable-appindicator \
172 --disable-emoji-dict \
173 --disable-gtk2 \
174 --disable-systemd-services &amp;&amp;
175make</userinput></screen>
176
177<screen revision='systemd'><userinput>SAVE_DIST_FILES=1 NOCONFIGURE=1 ./autogen.sh &amp;&amp;
178
179PYTHON=python3 \
180./configure --prefix=/usr \
181 --sysconfdir=/etc \
182 --disable-python2 \
183 --disable-appindicator \
184 --disable-gtk2 \
185 --disable-emoji-dict &amp;&amp;
186make</userinput></screen>
187
188 <para>
189 To test the results, issue: <command>make -k check</command>.
190 The test named ibus-compose fails because it uses some locales
191 not installed in LFS.
192 <!-- The log says "No idea to simulate key events in Wayland"
193 in a Mutter wayland session. DO NOT REMOVE UNLESS TESTED
194 IN WAYLAND. -->
195 The test named ibus-keypress will fail if running in a Wayland
196 session.
197 </para>
198
199 <para>
200 Now, as the &root; user:
201 </para>
202
203<screen role="root"><userinput>make install</userinput></screen>
204
205 </sect2>
206
207 <sect2 role="commands">
208 <title>Command Explanations</title>
209
210 <para>
211 <parameter>--disable-appindicator</parameter>: This switch disables
212 use of libdbusmenu. Omit if you installed the optional dependency.
213 </para>
214
215 <para>
216 <parameter>--disable-emoji-dict</parameter>: This switch disables the
217 use of emoticon dictionaries. Omit if you installed the optional
218 package.
219 </para>
220
221 <para>
222 <parameter>--disable-gtk2</parameter>: This switch removes the dependency
223 on <application>GTK+-2</application>.
224 </para>
225
226 <para>
227 <option>--enable-gtk4</option>: This switch enables building
228 the <application>GTK 4</application> immodule. Use it if
229 you have installed <application>GTK 4</application>.
230 </para>
231
232 <para>
233 <option>--enable-python-library</option>: This switch enables
234 building the <application>Python</application> support
235 library. Use it if you have installed the optional Python modules.
236 </para>
237
238 <para>
239 <option>--enable-wayland</option>: This switch enables building
240 the <application>Wayland</application> support programs.
241 It's automatically enabled if both <xref linkend='libxkbcommon'/> and
242 <xref linkend='wayland'/> are installed.
243 </para>
244
245 <para>
246 <envar>NOCONFIGURE=1</envar>: Prevent <command>autogen.sh</command>
247 from running the generated <command>configure</command> script. We'll
248 run the script manually instead of relying on
249 <command>autogen.sh</command> to run it, because
250 <command>autogen.sh</command> would set <option>-fsanitize=address
251 -fsanitize=leak</option> in <envar>CFLAGS</envar> running
252 <command>configure</command>, but those compiler options are not
253 suitable for productive use and they may also cause a build failure.
254 <!-- GCC security policy: "Libraries like libvtv and the sanitizers
255 are intended to be used in diagnostic cases and not intended for
256 use in sensitive environments." In my build it also causes
257 "compose/sequences-little-endian" bail out with a sanitizer
258 warning and the package to FTBFS. -->
259 </para>
260
261 <para>
262 <envar>PYTHON=python3</envar>: This environment variable makes
263 the <command>configure</command> script look for
264 <application>Python 3</application>. Use it if you want
265 to build the <application>Python 3</application> support
266 library.
267 </para>
268
269 <para>
270 <envar>SAVE_DIST_FILES=1</envar>: This environment variable makes
271 the <command>autogen.sh</command> script save some pre-generated
272 header files instead of overwriting them when it is run. This prevents
273 build failures when generating <filename>ibusemojigen.h</filename>.
274 <!-- This is needed because we do not have the Emoji dictionary.-->
275 </para>
276
277 <xi:include xmlns:xi="http://www.w3.org/2001/XInclude"
278 href="../../xincludes/gtk-doc-rebuild.xml"/>
279<!--
280 <para>
281 <command>gzip -dfv ...</command>: Decompress installed man pages
282 in accordance with other man pages.
283 </para>
284-->
285 </sect2>
286
287 <sect2 role="configuration">
288 <title>Configuring Ibus</title>
289
290 <para>
291 If GTK+-3 is installed and <option>--disable-gtk3</option> is not used,
292 the ibus IM module for GTK+-3 will be installed. As the &root; user,
293 update a cache file of GTK+-3 so the GTK-based applications can find the
294 newly installed IM module and use ibus as an input method:
295 </para>
296
297 <screen role='nodump'><userinput>gtk-query-immodules-3.0 --update-cache</userinput></screen>
298
299 <para>
300 The command above updates the cache file for GTK+-3. GTK-4 does not
301 require a cache file for IM modules.
302 </para>
303 </sect2>
304
305 <sect2 role="content">
306 <title>Contents</title>
307
308 <segmentedlist>
309 <segtitle>Installed Programs</segtitle>
310 <segtitle>Installed Library</segtitle>
311 <segtitle>Installed Directories</segtitle>
312
313 <seglistitem>
314 <seg>
315 ibus,
316 ibus-daemon, and
317 ibus-setup
318 </seg>
319 <seg>
320 libibus-1.0.so and
321 im-ibus.so (<application>GTK+ Immodule</application>)
322 </seg>
323 <seg>
324 /etc/dconf/db/ibus.d,
325 /usr/include/ibus-1.0,
326 /usr/share/gtk-doc/html/ibus, and
327 /usr/share/ibus
328 </seg>
329 </seglistitem>
330 </segmentedlist>
331
332 <variablelist>
333 <bridgehead renderas="sect3">Short Descriptions</bridgehead>
334 <?dbfo list-presentation="list"?>
335 <?dbhtml list-presentation="table"?>
336
337 <varlistentry id="ibus-daemon">
338 <term><command>ibus-daemon</command></term>
339 <listitem>
340 <para>
341 is the Intelligent Input Bus Daemon
342 </para>
343 <indexterm zone="ibus ibus-daemon">
344 <primary sortas="b-ibus-daemon">ibus-daemon</primary>
345 </indexterm>
346 </listitem>
347 </varlistentry>
348
349 <varlistentry id="ibus-setup">
350 <term><command>ibus-setup</command></term>
351 <listitem>
352 <para>
353 is the <application>GTK+</application> program used to configure
354 the <command>ibus-daemon</command>
355 </para>
356 <indexterm zone="ibus ibus-setup">
357 <primary sortas="b-ibus-setup">ibus-setup</primary>
358 </indexterm>
359 </listitem>
360 </varlistentry>
361
362 <varlistentry id="libibus-1.0">
363 <term><filename class="libraryfile">libibus-1.0.so</filename></term>
364 <listitem>
365 <para>
366 contains the <application>ibus</application> API functions
367 </para>
368 <indexterm zone="ibus libibus-1.0">
369 <primary sortas="c-libibus-1.0">libibus-1.0.so</primary>
370 </indexterm>
371 </listitem>
372 </varlistentry>
373
374 </variablelist>
375
376 </sect2>
377
378</sect1>
Note: See TracBrowser for help on using the repository browser.