source: general/sysutils/dbus.xml@ 7f0293d

10.0 10.1 11.0 11.1 11.2 11.3 12.0 12.1 6.2 6.2.0 6.2.0-rc1 6.2.0-rc2 6.3 6.3-rc1 6.3-rc2 6.3-rc3 7.10 7.4 7.5 7.6 7.6-blfs 7.6-systemd 7.7 7.8 7.9 8.0 8.1 8.2 8.3 8.4 9.0 9.1 basic bdubbs/svn elogind gnome kde5-13430 kde5-14269 kde5-14686 kea ken/TL2024 ken/inkscape-core-mods ken/tuningfonts krejzi/svn lazarus lxqt nosym perl-modules plabs/newcss plabs/python-mods python3.11 qt5new rahul/power-profiles-daemon renodr/vulkan-addition systemd-11177 systemd-13485 trunk upgradedb xry111/intltool xry111/llvm18 xry111/soup3 xry111/test-20220226 xry111/xf86-video-removal
Last change on this file since 7f0293d was 1039de3, checked in by Randy McMurchy <randy@…>, 18 years ago

Added the 'User Notes' wiki link to each package page; changed all instances of .[so,a] to .{so,a} (brackets changed to braces); changed all replaceable tags to use angle brackets instead of square brackets to encapsulate the text - commit #3

git-svn-id: svn://svn.linuxfromscratch.org/BLFS/trunk/BOOK@5831 af4574ff-66df-0310-9fd7-8a98e5e911e0

  • Property mode set to 100644
File size: 16.2 KB
Line 
1<?xml version="1.0" encoding="ISO-8859-1"?>
2<!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.4//EN"
3 "http://www.oasis-open.org/docbook/xml/4.4/docbookx.dtd" [
4 <!ENTITY % general-entities SYSTEM "../../general.ent">
5 %general-entities;
6
7 <!ENTITY dbus-download-http "http://dbus.freedesktop.org/releases/dbus-&dbus-version;.tar.gz">
8 <!ENTITY dbus-download-ftp "ftp://ftp.fu-berlin.de/unix/linux/mirrors/gentoo/distfiles/dbus-&dbus-version;.tar.gz">
9 <!ENTITY dbus-md5sum "1addd5b600a8a4550766005d1f59401b">
10 <!ENTITY dbus-size "1.6 MB">
11 <!ENTITY dbus-buildsize "34.6 MB">
12 <!ENTITY dbus-time "0.9 SBU">
13]>
14
15<sect1 id="dbus" xreflabel="D-BUS-&dbus-version;">
16 <?dbhtml filename="dbus.html"?>
17
18 <sect1info>
19 <othername>$LastChangedBy$</othername>
20 <date>$Date$</date>
21 <keywordset>
22 <keyword role="package">dbus-&dbus-version;.tar</keyword>
23 <keyword role="ftpdir">dbus</keyword>
24 </keywordset>
25 </sect1info>
26
27 <title>D-BUS-&dbus-version;</title>
28
29 <indexterm zone="dbus">
30 <primary sortas="a-D-BUS">D-BUS</primary>
31 </indexterm>
32
33 <sect2 role="package">
34 <title>Introduction to D-BUS</title>
35
36 <para><application>D-BUS</application> is a message bus system, a simple
37 way for applications to talk to one another.
38 <application>D-BUS</application> supplies both a system daemon (for events
39 such as <quote>new hardware device added</quote> or <quote>printer queue
40 changed</quote>) and a per-user-login-session daemon (for general IPC needs
41 among user applications). Also, the message bus is built on top of a
42 general one-to-one message passing framework, which can be used by any two
43 applications to communicate directly (without going through the message bus
44 daemon).</para>
45
46 <bridgehead renderas="sect3">Package Information</bridgehead>
47 <itemizedlist spacing="compact">
48 <listitem>
49 <para>Download (HTTP): <ulink url="&dbus-download-http;"/></para>
50 </listitem>
51 <listitem>
52 <para>Download (FTP): <ulink url="&dbus-download-ftp;"/></para>
53 </listitem>
54 <listitem>
55 <para>Download MD5 sum: &dbus-md5sum;</para>
56 </listitem>
57 <listitem>
58 <para>Download size: &dbus-size;</para>
59 </listitem>
60 <listitem>
61 <para>Estimated disk space required: &dbus-buildsize;</para>
62 </listitem>
63 <listitem>
64 <para>Estimated build time: &dbus-time;</para>
65 </listitem>
66 </itemizedlist>
67
68 <bridgehead renderas="sect3">D-BUS Dependencies</bridgehead>
69
70 <bridgehead renderas="sect4">Optional</bridgehead>
71 <para role="optional"><xref linkend="pkgconfig"/>,
72 <xref linkend="expat"/> or <xref linkend="libxml2"/>,
73 <xref linkend="glib2"/>,
74 <xref linkend="gtk2"/>,
75 <xref linkend="qt"/>,
76 <xref linkend="x-window-system"/>,
77 <xref linkend="gcc"/> (for the Java compiler and tools),
78 <ulink url="http://nz.cosc.canterbury.ac.nz/~greg/python/Pyrex/">Pyrex</ulink>
79 (requires <xref linkend="python"/>),
80 <ulink url="http://go-mono.org">Mono</ulink> (and
81 <ulink url="http://www.mono-project.com/GtkSharp">GtkSharp-1.0.x</ulink>),
82 <xref linkend="doxygen"/>, and
83 <ulink url="http://cyberelk.net/tim/xmlto/">xmlto</ulink></para>
84
85 <bridgehead renderas="sect4" id="hal-requirements"
86 xreflabel="HAL Requirements">HAL Requirements</bridgehead>
87 <para><xref linkend="glib2"/> must be installed before you begin building
88 <application>D-BUS</application> if you plan on installing
89 <xref linkend="hal"/>. <application>GLib</application> is required to build
90 the <filename class='libraryfile'>libdbus-glib</filename> library, which is
91 required by the <application>HAL</application> daemon. Additionally, if you
92 desire to use the <xref linkend="hal-device-manager"/> program,
93 <ulink url="http://nz.cosc.canterbury.ac.nz/~greg/python/Pyrex/">
94 Pyrex</ulink> must be installed before you begin building
95 <application>D-BUS</application> as the <application>D-BUS</application>
96 <application>Python</application> bindings are required. You will also
97 need to remove the <parameter>--disable-python</parameter> parameter from
98 the <command>configure</command> command in the instructions below.</para>
99
100 <para condition="html" role="usernotes">User Notes:
101 <ulink url="&blfs-wiki;/dbus"/></para>
102
103 </sect2>
104
105 <sect2 role="kernel" id='dbus-kernel'>
106 <title>Kernel Configuration</title>
107
108 <para>Ensure the following option is enabled in the kernel configuration
109 and recompile the kernel if necessary:</para>
110
111<screen><literal>General Setup
112 System V IPC</literal></screen>
113
114 <indexterm zone="dbus dbus-kernel">
115 <primary sortas="d-dbus">dbus</primary>
116 </indexterm>
117
118 </sect2>
119
120 <sect2 role="installation">
121 <title>Installation of D-BUS</title>
122
123 <para>As the <systemitem class="username">root</systemitem> user, create a
124 system user and group to handle the system message bus activity:</para>
125
126<screen role="root"><userinput>groupadd -g 18 messagebus &amp;&amp;
127useradd -c "D-BUS Message Daemon User" -d /dev/null \
128 -u 18 -g messagebus -s /bin/false messagebus</userinput></screen>
129
130 <para>Install <application>D-BUS</application> by running the following
131 commands (you may wish to review the output from
132 <command>./configure --help</command> first and add any desired parameters
133 to the <command>configure</command> command shown below):</para>
134
135<screen><userinput>sed -i 's/= jar/= fastjar/' gcj/Makefile.in &amp;&amp;
136./configure --prefix=/usr \
137 --sysconfdir=/etc \
138 --localstatedir=/var \
139 --disable-python &amp;&amp;
140make</userinput></screen>
141
142 <para>This package does not come with a test suite.</para>
143
144 <para>Now, as the <systemitem class="username">root</systemitem> user:</para>
145
146<screen role="root"><userinput>make install &amp;&amp;
147install -v -m755 -d /usr/share/doc/dbus-0.50 &amp;&amp;
148install -v -m644 doc/{TODO,*.{dtd,xml,xsl,html,txt,c}} \
149 /usr/share/doc/dbus-0.50</userinput></screen>
150
151 </sect2>
152
153 <sect2 role="commands">
154 <title>Command Explanations</title>
155
156 <para><command>sed -i 's/= jar/= fastjar/' gcj/Makefile.in</command>:
157 The <application>GCC</application>-&gcc-version; compiler installation
158 installs a command named <command>fastjar</command> to create Java
159 <filename class='extension'>.jar</filename> files instead of
160 <command>jar</command>. This <command>sed</command> command changes the
161 <filename>Makefile</filename> to use the appropriate command so the build
162 doesn't fail if you passed the <option>--enable-gcj</option> option to
163 the <command>configure</command> command.</para>
164
165 <para><parameter>--localstatedir=/var</parameter>: This parameter causes
166 the daemon PID file to be created in
167 <filename class="directory">/var/run/dbus</filename> instead of
168 <filename class="directory">/usr/var/run/dbus</filename>.</para>
169
170 <para><parameter>--disable-python</parameter>: This parameter is required
171 if <application>Python</application> is not installed. Remove the parameter
172 if <application>Python</application> (and <application>Pyrex</application>)
173 is installed and you wish to build the
174 <application>Python</application> bindings.</para>
175
176 </sect2>
177
178 <sect2 role="configuration">
179 <title>Configuring dbus</title>
180
181 <sect3 id="dbus-config">
182 <title>Config Files</title>
183 <para><filename>/etc/dbus-1/session.conf</filename>,
184 <filename>/etc/dbus-1/system.conf</filename> and
185 <filename>/etc/system.d/*</filename></para>
186
187 <indexterm zone="dbus dbus-config">
188 <primary sortas="e-etc-dbus-1-session.conf">/etc/dbus-1/session.conf</primary>
189 </indexterm>
190
191 <indexterm zone="dbus dbus-config">
192 <primary sortas="e-etc-dbus-1/system.conf">/etc/dbus-1/system.conf</primary>
193 </indexterm>
194
195 <indexterm zone="dbus dbus-config">
196 <primary sortas="e-etc-system.d-star">/etc/system.d/*</primary>
197 </indexterm>
198
199 </sect3>
200
201 <sect3><title>Configuration Information</title>
202
203 <para>The configuration files listed above should probably not be
204 modified. If changes are required, you should create
205 <filename>/etc/dbus-1/session-local.conf</filename> and/or
206 <filename>/etc/dbus-1/system-local.conf</filename> and make any
207 desired changes to these files.</para>
208
209 </sect3>
210
211 <sect3 id="dbus-init">
212 <title>Boot Script</title>
213
214 <para>To automatically start <command>dbus-daemon</command> when the
215 system is rebooted, install the
216 <filename>/etc/rc.d/init.d/dbus</filename> bootscript from the
217 <xref linkend="bootscripts"/> package.</para>
218
219 <indexterm zone="dbus dbus-init">
220 <primary sortas="f-dbus">dbus</primary>
221 </indexterm>
222
223<screen role="root"><userinput>make install-dbus</userinput></screen>
224
225 <para>Note that this boot script only starts the system-wide
226 <application>D-BUS</application> daemon. Each user requiring access to
227 <application>D-BUS</application> services will also need to run a
228 session daemon as well. There are many methods you can use to start a
229 session daemon using the <command>dbus-launch</command> command. Review
230 the <command>dbus-launch</command> man page for details about the
231 available parameters and options. Here are some suggestions and
232 examples:</para>
233
234 <itemizedlist spacing="compact">
235 <listitem>
236 <para>Add <command>dbus-launch</command> to the line in the
237 <filename>~/.xinitrc</filename> file that starts your graphical
238 desktop environment as shown in <xref linkend="gnome-config"/>.</para>
239 </listitem>
240 <listitem>
241 <para>If you use <command>xdm</command> or some other display manager
242 that calls the <filename>~/.xsession</filename> file, you can add
243 <command>dbus-launch</command> to the line in your
244 <filename>~/.xsession</filename> file that starts your graphical
245 desktop environment. The syntax would be similar to the example in
246 the <filename>~/.xinitrc</filename> file.</para>
247 </listitem>
248 <listitem>
249 <para>If you use <command>gdm</command> or some other display manager
250 that utilizes custom files to initiate sessions, use the example in
251 <xref linkend="gdm-config-dbus"/> of the
252 <application>GDM</application> instructions to create a file
253 containing <command>dbus-launch</command>.</para>
254 </listitem>
255 <listitem>
256 <para>The examples shown previously use
257 <command>dbus-launch</command> to specify a program to be run. This
258 has the benefit (when also using the
259 <parameter>--exit-with-session</parameter> parameter) of stopping the
260 session daemon when the specified program is stopped. You can also
261 start the session daemon in your system or personal startup scripts
262 by adding the following lines:</para>
263
264<screen><userinput><literal># Start the D-BUS session daemon
265eval `dbus-launch`
266export DBUS_SESSION_BUS_ADDRESS</literal></userinput></screen>
267
268 <para>This method will not stop the session daemon when you exit
269 your shell, therefore you should add the following line to your
270 <filename>~/.bash_logout</filename> file:</para>
271
272<screen><userinput><literal># Kill the D-BUS session daemon
273kill $DBUS_SESSION_BUS_PID</literal></userinput></screen>
274 </listitem>
275
276<!-- Dead link. This hint isn't there.
277 <listitem>
278 <para>If you use <application>Linux-PAM</application>, you can review
279 the <ulink
280 url="&hints-root;/downloads/files/execute-session-scripts-using-pam.txt">
281 Execute Session Scripts Using PAM</ulink> hint to see if it would work
282 for you.</para>
283 </listitem>
284-->
285 </itemizedlist>
286
287 </sect3>
288
289 </sect2>
290
291 <sect2 role="content">
292 <title>Contents</title>
293
294 <segmentedlist>
295 <segtitle>Installed Programs</segtitle>
296 <segtitle>Installed Libraries</segtitle>
297 <segtitle>Installed Directories</segtitle>
298
299 <seglistitem>
300 <seg>dbus-binding-tool, dbus-cleanup-sockets, dbus-daemon, dbus-launch,
301 dbus-monitor, dbus-send and dbus-viewer</seg>
302 <seg>libdbus-1.{so,a} and optionally, dbus-1.jar, libdbus-gcj-1.{so,a},
303 libdbus-glib-1.{so,a}, libdbus-qt-1.{so,a} and
304 <application>Python</application> modules</seg>
305 <seg>/etc/dbus-1, /usr/include/dbus-1.0, /usr/lib/dbus-1.0,
306 /usr/lib/python2.4/site-packages/dbus, /usr/share/dbus-1,
307 /usr/share/doc/dbus-&dbus-version; and /var/run/dbus</seg>
308 </seglistitem>
309 </segmentedlist>
310
311 <variablelist>
312 <bridgehead renderas="sect3">Short Descriptions</bridgehead>
313 <?dbfo list-presentation="list"?>
314 <?dbhtml list-presentation="table"?>
315
316 <varlistentry id="dbus-binding-tool">
317 <term><command>dbus-binding-tool</command></term>
318 <listitem>
319 <para>is used to create header files from
320 <application>GLib</application> object files.</para>
321 <indexterm zone="dbus dbus-binding-tool">
322 <primary sortas="b-dbus-binding-tool">dbus-binding-tool</primary>
323 </indexterm>
324 </listitem>
325 </varlistentry>
326
327 <varlistentry id="dbus-cleanup-sockets">
328 <term><command>dbus-cleanup-sockets</command></term>
329 <listitem>
330 <para>is used to clean up leftover sockets in a directory.</para>
331 <indexterm zone="dbus dbus-cleanup-sockets">
332 <primary sortas="b-dbus-cleanup-sockets">dbus-cleanup-sockets</primary>
333 </indexterm>
334 </listitem>
335 </varlistentry>
336
337 <varlistentry id="dbus-daemon">
338 <term><command>dbus-daemon</command></term>
339 <listitem>
340 <para>is the <application>D-BUS</application> message bus
341 daemon.</para>
342 <indexterm zone="dbus dbus-daemon">
343 <primary sortas="b-dbus-daemon">dbus-daemon</primary>
344 </indexterm>
345 </listitem>
346 </varlistentry>
347
348 <varlistentry id="dbus-launch">
349 <term><command>dbus-launch</command></term>
350 <listitem>
351 <para>is used to start <command>dbus-daemon</command> from a shell
352 script. It would normally be called from a user's login
353 scripts.</para>
354 <indexterm zone="dbus dbus-launch">
355 <primary sortas="b-dbus-launch">dbus-launch</primary>
356 </indexterm>
357 </listitem>
358 </varlistentry>
359
360 <varlistentry id="dbus-monitor">
361 <term><command>dbus-monitor</command></term>
362 <listitem>
363 <para>is used to monitor messages going through a
364 <application>D-BUS</application> message bus.</para>
365 <indexterm zone="dbus dbus-monitor">
366 <primary sortas="b-dbus-monitor">dbus-monitor</primary>
367 </indexterm>
368 </listitem>
369 </varlistentry>
370
371 <varlistentry id="dbus-send">
372 <term><command>dbus-send</command></term>
373 <listitem>
374 <para>is used to send a message to a <application>D-BUS</application>
375 message bus.</para>
376 <indexterm zone="dbus dbus-send">
377 <primary sortas="b-dbus-send">dbus-send</primary>
378 </indexterm>
379 </listitem>
380 </varlistentry>
381
382 <varlistentry id="dbus-viewer">
383 <term><command>dbus-viewer</command></term>
384 <listitem>
385 <para>is a graphical <application>D-BUS</application> frontend
386 utility.</para>
387 <indexterm zone="dbus dbus-viewer">
388 <primary sortas="b-dbus-viewer">dbus-viewer</primary>
389 </indexterm>
390 </listitem>
391 </varlistentry>
392
393 <varlistentry id="libdbus-1">
394 <term><filename class='libraryfile'>libdbus-1.{so,a}</filename></term>
395 <listitem>
396 <para>contains the API functions used by the
397 <application>D-BUS</application> message daemon.
398 <application>D-BUS</application> is first a library that provides
399 one-to-one communication between any two applications;
400 <command>dbus-daemon</command> is an application that uses this
401 library to implement a message bus daemon.</para>
402 <indexterm zone="dbus libdbus-1">
403 <primary sortas="c-libdbus-1">libdbus-1.{so,a}</primary>
404 </indexterm>
405 </listitem>
406 </varlistentry>
407
408 </variablelist>
409
410 </sect2>
411
412</sect1>
Note: See TracBrowser for help on using the repository browser.