source: general/sysutils/dbus.xml@ 18d3f274

elogind
Last change on this file since 18d3f274 was fb7ec07, checked in by DJ Lucas <dj@…>, 5 years ago

Merge to HEAD 21661.

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

  • Property mode set to 100644
File size: 24.8 KB
Line 
1<?xml version="1.0" encoding="ISO-8859-1"?>
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 dbus-download-http "https://dbus.freedesktop.org/releases/dbus/dbus-&dbus-version;.tar.gz">
8 <!ENTITY dbus-download-ftp " ">
9 <!ENTITY dbus-md5sum "ea11069521beeee4e47f0086596a43c8">
10 <!ENTITY dbus-size "2.0 MB">
11 <!ENTITY dbus-buildsize "21 MB (add 8 MB for the tests)">
12 <!ENTITY dbus-time "0.3 SBU (add 0.8 SBU for the tests)">
13]>
14
15<sect1 id="dbus" xreflabel="dbus-&dbus-version;">
16 <?dbhtml filename="dbus.html"?>
17
18 <sect1info>
19 <othername>$LastChangedBy$</othername>
20 <date>$Date$</date>
21 </sect1info>
22
23 <title>dbus-&dbus-version;</title>
24
25 <indexterm zone="dbus">
26 <primary sortas="a-D-Bus">D-Bus</primary>
27 </indexterm>
28
29 <sect2 role="package">
30 <title>Introduction to D-Bus</title>
31
32 <para revision="sysv">
33 <application>D-Bus</application> is a message bus system, a simple way
34 for applications to talk to one another.
35 <application>D-Bus</application> supplies both a system daemon (for
36 events such as <quote>new hardware device added</quote> or <quote>printer
37 queue changed</quote>) and a per-user-login-session daemon (for general
38 IPC needs among user applications). Also, the message bus is built on top
39 of a general one-to-one message passing framework, which can be used by
40 any two applications to communicate directly (without going through the
41 message bus daemon).
42 </para>
43
44 <para revision="systemd">
45 Even though <application>D-Bus</application> was built in LFS, there are
46 some features provided by the package that other BLFS packages need, but
47 their dependencies didn't fit into LFS.
48 </para>
49
50 &lfs84_checked;
51
52 <bridgehead renderas="sect3">Package Information</bridgehead>
53 <itemizedlist spacing="compact">
54 <listitem>
55 <para>
56 Download (HTTP): <ulink url="&dbus-download-http;"/>
57 </para>
58 </listitem>
59 <listitem>
60 <para>
61 Download (FTP): <ulink url="&dbus-download-ftp;"/>
62 </para>
63 </listitem>
64 <listitem>
65 <para>
66 Download MD5 sum: &dbus-md5sum;
67 </para>
68 </listitem>
69 <listitem>
70 <para>
71 Download size: &dbus-size;
72 </para>
73 </listitem>
74 <listitem>
75 <para>
76 Estimated disk space required: &dbus-buildsize;
77 </para>
78 </listitem>
79 <listitem>
80 <para>
81 Estimated build time: &dbus-time;
82 </para>
83 </listitem>
84 </itemizedlist>
85
86 <bridgehead renderas="sect3">D-Bus Dependencies</bridgehead>
87
88 <bridgehead renderas="sect4" revision="systemd">Required</bridgehead>
89 <para role="required" revision="systemd">
90 <xref linkend="systemd"/>
91 </para>
92
93
94 <bridgehead renderas="sect4">Recommended</bridgehead>
95 <para role="recommended">
96 <xref linkend="xorg7-lib"/> (for <command>dbus-launch</command> program)
97 <phrase revision="sysv"><xref linkend="elogind"/> (first build
98 without, and then again after elogind is installed)</phrase>
99 </para>
100
101 <bridgehead renderas="sect4">Optional</bridgehead>
102 <para role="optional">
103 For the tests:
104 <xref linkend="dbus-glib"/>,
105 <xref linkend="dbus-python"/>,
106 <xref linkend="pygobject3"/>,
107 and <xref linkend="valgrind"/>;
108
109 for documentation:
110 <xref linkend="doxygen"/>,
111 <xref linkend="xmlto"/>,
112 <ulink url="https://pypi.python.org/pypi/mallard-ducktype">Ducktype</ulink>,
113 and
114 <ulink url="http://ftp.gnome.org/pub/gnome/sources/yelp-tools/">Yelp Tools</ulink>
115 </para>
116
117 <para condition="html" role="usernotes">User Notes:
118 <ulink url="&blfs-wiki;/dbus"/>
119 </para>
120 </sect2>
121
122 <sect2 role="installation">
123 <title>Installation of D-Bus</title>
124 <!--
125 <para revision="sysv">
126 If they do not already exist,
127 as the <systemitem class="username">root</systemitem> user, create a
128 system user and group to handle the system message bus activity:
129 </para>
130
131<screen role="root" revision="sysv"><userinput>groupadd -g 18 messagebus &amp;&amp;
132useradd -c "D-Bus Message Daemon User" -d /var/run/dbus \
133 -u 18 -g messagebus -s /bin/false messagebus</userinput></screen>
134 -->
135
136 <para>
137 Install <application>D-Bus</application> by running the following
138 commands (you may wish to review the output from <command>./configure
139 --help</command> first and add any desired parameters to the
140 <command>configure</command> command shown below):
141 </para>
142
143<screen revision="sysv"><userinput>./configure --prefix=/usr \
144 --sysconfdir=/etc \
145 --localstatedir=/var \
146 --enable-user-session \
147 --disable-doxygen-docs \
148 --disable-xml-docs \
149 --disable-static \
150 --with-systemduserunitdir=no \
151 --with-systemdsystemunitdir=no \
152 --docdir=/usr/share/doc/dbus-&dbus-version; \
153 --with-console-auth-dir=/run/console \
154 --with-system-pid-file=/run/dbus/pid \
155 --with-system-socket=/run/dbus/system_bus_socket &amp;&amp;
156make</userinput></screen>
157
158<screen revision="systemd"><userinput>./configure --prefix=/usr \
159 --sysconfdir=/etc \
160 --localstatedir=/var \
161 --enable-user-session \
162 --disable-doxygen-docs \
163 --disable-xml-docs \
164 --disable-static \
165 --docdir=/usr/share/doc/dbus-&dbus-version; \
166 --with-console-auth-dir=/run/console \
167 --with-system-pid-file=/run/dbus/pid \
168 --with-system-socket=/run/dbus/system_bus_socket &amp;&amp;
169make</userinput></screen>
170
171 <para>
172 See below for test instructions.
173 </para>
174
175 <warning revision="systemd">
176 <para>
177 Installing the package will override all files installed by
178 <application>D-Bus</application> in LFS. It is critical that
179 nothing uses <application>D-Bus</application> libraries or
180 programs during the installation. The best way to ensure that these
181 libraries are not being used is to run the installation in rescue mode.
182 To switch to rescue mode, run the following command as the
183 <systemitem class="username">root</systemitem> user (from a TTY):
184 </para>
185
186<screen role="root"><userinput>systemctl start rescue.target</userinput></screen>
187
188 </warning>
189
190 <para>
191 Now, as the <systemitem class="username">root</systemitem> user:
192 </para>
193
194<screen role="root"><userinput>make install</userinput></screen>
195
196 <para>
197 The shared library needs to be moved to
198 <filename class="directory">/lib</filename>, and as a result the
199 <filename class="extension">.so</filename> file in
200 <filename class="directory">/usr/lib</filename> will need to be
201 recreated. Run the following command as the
202 <systemitem class="username">root</systemitem> user:
203 </para>
204
205<screen role="root"><userinput>mv -v /usr/lib/libdbus-1.so.* /lib &amp;&amp;
206ln -sfv ../../lib/$(readlink /usr/lib/libdbus-1.so) /usr/lib/libdbus-1.so</userinput></screen>
207
208 <para>
209 If you are using a DESTDIR install,
210 <command>dbus-daemon-launch-helper</command> needs to be fixed
211 afterwards. Issue, as <systemitem class="username">root</systemitem>
212 user:
213 </para>
214
215<screen role="root"><userinput>chown -v root:messagebus /usr/libexec/dbus-daemon-launch-helper &amp;&amp;
216chmod -v 4750 /usr/libexec/dbus-daemon-launch-helper</userinput></screen>
217
218 <para revision="sysv">
219 If you are still building your system in chroot or you did not start the
220 daemon yet, but you want to compile some packages that require
221 <application>D-Bus</application>, generate
222 <application>D-Bus</application> UUID to avoid warnings when compiling
223 some packages with the following command as the
224 <systemitem class="username">root</systemitem> user:
225 </para>
226
227<screen role="root" revision="sysv"><userinput>dbus-uuidgen --ensure</userinput></screen>
228
229 <para revision="sysv">
230 If using <xref linkend="elogind"/>, create a symlink to the
231 <filename>/var/lib/dbus/machine-id</filename> file:
232 </para>
233
234<screen role="root" revision="sysv"><userinput>ln -sv /var/lib/dbus/machine-id /etc</userinput></screen>
235
236 <para revision="systemd">
237 If not in chroot, at this point, you should reload the systemd daemon,
238 and reenter multi-user mode with the following commands (as the
239 <systemitem class="username">root</systemitem> user):
240 </para>
241
242<screen role="root" revision="systemd"><userinput>systemctl daemon-reload
243systemctl start multi-user.target</userinput></screen>
244
245 <para>
246 The dbus tests cannot be run until after <xref linkend="dbus-glib"/> has
247 been installed. They must be run as an unprivileged user from a local
248 session with bus address. To run the standard tests issue
249 <command>make check</command>.
250 </para>
251
252 <para>
253 If you want to run the unit regression tests, configure requires
254 additional parameters which expose additional functionality in the
255 binaries that are not intended to be used in a production build of
256 <application>D-Bus</application>. If you would like to run the tests,
257 issue the following commands (for the tests, you don't need to build the
258 docs):
259 </para>
260
261<screen><userinput>make distclean &amp;&amp;
262./configure --enable-tests \
263 --enable-asserts \
264 --disable-doxygen-docs \
265 --disable-xml-docs &amp;&amp;
266make &amp;&amp;
267make check</userinput></screen>
268
269 <para>
270 The test <command>test-bus.sh</command> is known to fail. There has also
271 been reports that the tests may fail if running inside a Midnight
272 Commander shell. You may get out-of-memory error messages when running
273 the tests. These are normal and can be safely ignored.
274 </para>
275
276 </sect2>
277
278 <sect2 role="commands">
279 <title>Command Explanations</title>
280
281 <para>
282 <parameter>--disable-doxygen-docs</parameter>: This switch disables
283 doxygen documentation build and install, if you have
284 <application>doxygen</application> installed. If
285 <application>doxygen</application> is installed, and you wish to build
286 them, remove this parameter.
287 </para>
288
289 <para>
290 <parameter>--disable-xml-docs</parameter>: This switch disables html
291 documentation build and install, if you have
292 <application>xmlto</application> installed. If
293 <application>xmlto</application> is installed, and you wish to build
294 them, remove this parameter.
295 </para>
296
297 <xi:include xmlns:xi="http://www.w3.org/2001/XInclude"
298 href="../../xincludes/static-libraries.xml"/>
299
300 <para>
301 <parameter>--enable-user-session</parameter>: This parameter enables
302 per-user DBus sessions with
303 <phrase revision="sysv"><application>elogind</application>.</phrase>
304 <phrase revision="systemd"><application>systemd</application>.</phrase>
305 </para>
306
307 <para revision="sysv">
308 <parameter>--with-systemd{user,system}unitdir=</parameter>: These
309 switches disable installation of systemd units on elogind based systems.
310 </para>
311 <para>
312 <parameter>--with-console-auth-dir=/run/console/</parameter>: This
313 parameter specifies the location of the
314 <application>ConsoleKit</application> auth dir.
315 </para>
316
317 <para>
318 <parameter>--with-system-pid-file=/run/dbus/pid</parameter>: This
319 parameter specifies the location of the PID file.
320 </para>
321
322 <para>
323 <parameter>--with-system-socket=/run/dbus/system_bus_socket</parameter>:
324 This parameter specifies the location of the system bus socket.
325 </para>
326
327 <para>
328 <parameter>--enable-tests</parameter>: Build extra parts of the code to
329 support all tests. Do not use on a production build.
330 </para>
331
332 <para>
333 <option>--enable-embedded-tests</option>: Build extra parts of the
334 code to support only unit tests. Do not use on a production build.
335 </para>
336
337 <para>
338 <parameter>--enable-asserts</parameter>: Enable debugging code to run
339 assertions for statements normally assumed to be true. This prevents a
340 warning that '<parameter>--enable-tests</parameter>' on its own is only
341 useful for profiling and might not give true results for all tests, but
342 adds its own NOTE that this should not be used in a production build.
343 </para>
344
345 </sect2>
346
347 <sect2 role="configuration">
348 <title>Configuring D-Bus</title>
349
350 <sect3 id="dbus-config">
351 <title>Config Files</title>
352
353 <para>
354 <filename>/etc/dbus-1/session.conf</filename>,
355 <filename>/etc/dbus-1/system.conf</filename> and
356 <filename>/etc/dbus-1/system.d/*</filename>
357 </para>
358
359 <indexterm zone="dbus dbus-config">
360 <primary sortas="e-etc-dbus-1-session.conf">/etc/dbus-1/session.conf</primary>
361 </indexterm>
362
363 <indexterm zone="dbus dbus-config">
364 <primary sortas="e-etc-dbus-1/system.conf">/etc/dbus-1/system.conf</primary>
365 </indexterm>
366
367 <indexterm zone="dbus dbus-config">
368 <primary sortas="e-etc-dbus-1-system.d-star">/etc/dbus-1/system.d/*</primary>
369 </indexterm>
370
371 </sect3>
372
373 <sect3 id="dbus-session-config" xreflabel="D-Bus custom services directory">
374 <title>Configuration Information</title>
375
376 <para>
377 The configuration files listed above should probably not be
378 modified. If changes are required, you should create
379 <filename>/etc/dbus-1/session-local.conf</filename> and/or
380 <filename>/etc/dbus-1/system-local.conf</filename> and make any
381 desired changes to these files.
382 </para>
383
384 <para>
385 If any packages install a
386 <application>D-Bus</application> <filename>.service</filename>
387 file outside of the standard <filename
388 class="directory">/usr/share/dbus-1/services</filename> directory,
389 that directory should be added to the local session configuration.
390 For instance, <filename
391 class="directory">/usr/local/share/dbus-1/services</filename> can
392 be added by performing the following commands as the
393 <systemitem class="username">root</systemitem> user:
394 </para>
395
396<screen role="root"><userinput>cat &gt; /etc/dbus-1/session-local.conf &lt;&lt; "EOF"
397<literal>&lt;!DOCTYPE busconfig PUBLIC
398 "-//freedesktop//DTD D-BUS Bus Configuration 1.0//EN"
399 "http://www.freedesktop.org/standards/dbus/1.0/busconfig.dtd"&gt;
400&lt;busconfig&gt;
401
402 &lt;!-- Search for .service files in /usr/local --&gt;
403 &lt;servicedir&gt;/usr/local/share/dbus-1/services&lt;/servicedir&gt;
404
405&lt;/busconfig&gt;</literal>
406EOF</userinput></screen>
407
408 </sect3>
409
410 <sect3 id="dbus-session">
411 <title>D-Bus Session Daemon</title>
412
413 <para revision="sysv">
414 To automatically start <command>dbus-daemon</command> when the
415 system is rebooted, install the
416 <filename>/etc/rc.d/init.d/dbus</filename> bootscript from the
417 <xref linkend="bootscripts"/> package.
418 </para>
419
420 <indexterm zone="dbus dbus-session" revision="sysv">
421 <primary sortas="f-dbus">dbus</primary>
422 </indexterm>
423
424<screen role="root" revision="sysv"><userinput>make install-dbus</userinput></screen>
425
426 <para revision="sysv">
427 Note that this boot script only starts the system-wide
428 <application>D-Bus</application> daemon. Each user requiring access to
429 <application>D-Bus</application> services will also need to run a
430 session daemon as well. There are many methods you can use to start a
431 session daemon using the <command>dbus-launch</command> command. Review
432 the <command>dbus-launch</command> man page for details about the
433 available parameters and options. Here are some suggestions and
434 examples:
435 </para>
436
437 <para revision="systemd">
438 There are many methods you can use to start a session daemon
439 using the <command>dbus-launch</command> command. Review the
440 <command>dbus-launch</command> man page for details about the
441 available parameters and options. Here are some suggestions and
442 examples:
443 </para>
444
445
446 <itemizedlist spacing="compact">
447 <listitem>
448 <para>
449 Add <command>dbus-launch</command> to the line in the
450 <filename>~/.xinitrc</filename> file that starts your graphical
451 desktop environment.
452 </para>
453 </listitem>
454 <listitem>
455 <para>
456 If you use <command>xdm</command> or some other display manager
457 that calls the <filename>~/.xsession</filename> file, you can add
458 <command>dbus-launch</command> to the line in your
459 <filename>~/.xsession</filename> file that starts your graphical
460 desktop environment. The syntax would be similar to the example in
461 the <filename>~/.xinitrc</filename> file.
462 </para>
463 </listitem>
464 <listitem>
465 <para>
466 The examples shown previously use
467 <command>dbus-launch</command> to specify a program to be run. This
468 has the benefit (when also using the
469 <parameter>--exit-with-session</parameter> parameter) of stopping the
470 session daemon when the specified program is stopped. You can also
471 start the session daemon in your system or personal startup scripts
472 by adding the following lines:
473 </para>
474
475<screen role="nodump"><userinput><literal># Start the D-Bus session daemon
476eval `dbus-launch`
477export DBUS_SESSION_BUS_ADDRESS</literal></userinput></screen>
478
479 <para>
480 This method will not stop the session daemon when you exit
481 your shell, therefore you should add the following line to your
482 <filename>~/.bash_logout</filename> file:
483 </para>
484
485<screen role="nodump"><userinput><literal># Kill the D-Bus session daemon
486kill $DBUS_SESSION_BUS_PID</literal></userinput></screen>
487 </listitem>
488
489 <listitem>
490 <para>
491 A hint has been written that provides ways to start scripts
492 using the KDM session manager of KDE. The concepts in this hint could
493 possibly be used with other session managers as well. The hint is
494 located at <ulink
495 url="&hints-root;/downloads/files/execute-session-scripts-using-kdm.txt"/>.
496 </para>
497 </listitem>
498
499 </itemizedlist>
500
501 </sect3>
502
503 </sect2>
504
505 <sect2 role="content" revision="sysv">
506 <title>Contents</title>
507
508 <segmentedlist>
509 <segtitle>Installed Programs</segtitle>
510 <segtitle>Installed Library</segtitle>
511 <segtitle>Installed Directories</segtitle>
512
513 <seglistitem>
514 <seg>
515 dbus-cleanup-sockets, dbus-daemon, dbus-launch, dbus-monitor,
516 dbus-run-session, dbus-send, dbus-test-tool,
517 dbus-update-activation-environment, and dbus-uuidgen
518 </seg>
519 <seg>
520 libdbus-1.so
521 </seg>
522 <seg>
523 /etc/dbus-1,
524 /usr/{include,lib}/dbus-1.0,
525 /usr/share/dbus-1,
526 /usr/share/doc/dbus-&dbus-version;, and
527 /var/{lib,run}/dbus
528 </seg>
529 </seglistitem>
530 </segmentedlist>
531
532 <variablelist>
533 <bridgehead renderas="sect3">Short Descriptions</bridgehead>
534 <?dbfo list-presentation="list"?>
535 <?dbhtml list-presentation="table"?>
536
537 <varlistentry id="dbus-cleanup-sockets">
538 <term><command>dbus-cleanup-sockets</command></term>
539 <listitem>
540 <para>
541 is used to clean up leftover sockets in a directory.
542 </para>
543 <indexterm zone="dbus dbus-cleanup-sockets">
544 <primary sortas="b-dbus-cleanup-sockets">dbus-cleanup-sockets</primary>
545 </indexterm>
546 </listitem>
547 </varlistentry>
548
549 <varlistentry id="dbus-daemon">
550 <term><command>dbus-daemon</command></term>
551 <listitem>
552 <para>
553 is the <application>D-Bus</application> message bus daemon.
554 </para>
555 <indexterm zone="dbus dbus-daemon">
556 <primary sortas="b-dbus-daemon">dbus-daemon</primary>
557 </indexterm>
558 </listitem>
559 </varlistentry>
560
561 <varlistentry id="dbus-launch">
562 <term><command>dbus-launch</command></term>
563 <listitem>
564 <para>
565 is used to start <command>dbus-daemon</command> from a shell
566 script. It would normally be called from a user's login
567 scripts.
568 </para>
569 <indexterm zone="dbus dbus-launch">
570 <primary sortas="b-dbus-launch">dbus-launch</primary>
571 </indexterm>
572 </listitem>
573 </varlistentry>
574
575 <varlistentry id="dbus-monitor">
576 <term><command>dbus-monitor</command></term>
577 <listitem>
578 <para>
579 is used to monitor messages going through a
580 <application>D-Bus</application> message bus.
581 </para>
582 <indexterm zone="dbus dbus-monitor">
583 <primary sortas="b-dbus-monitor">dbus-monitor</primary>
584 </indexterm>
585 </listitem>
586 </varlistentry>
587
588 <varlistentry id="dbus-run-session">
589 <term><command>dbus-run-session</command></term>
590 <listitem>
591 <para>
592 start a process as a new <application>D-Bus</application> session.
593 </para>
594 <indexterm zone="dbus dbus-run-session">
595 <primary sortas="b-dbus-run-session">dbus-run-session</primary>
596 </indexterm>
597 </listitem>
598 </varlistentry>
599
600 <varlistentry id="dbus-send">
601 <term><command>dbus-send</command></term>
602 <listitem>
603 <para>
604 is used to send a message to a <application>D-Bus</application>
605 message bus.
606 </para>
607 <indexterm zone="dbus dbus-send">
608 <primary sortas="b-dbus-send">dbus-send</primary>
609 </indexterm>
610 </listitem>
611 </varlistentry>
612
613 <varlistentry id="dbus-test-tool">
614 <term><command>dbus-test-tool</command></term>
615 <listitem>
616 <para>
617 is a <application>D-Bus</application> traffic generator and test
618 tool; it is a multi-purpose tool for debugging and profiling
619 <application>D-Bus</application>.
620 </para>
621 <indexterm zone="dbus dbus-test-tool">
622 <primary sortas="b-dbus-test-tool">dbus-test-tool</primary>
623 </indexterm>
624 </listitem>
625 </varlistentry>
626
627 <varlistentry id="dbus-update-activation-environment">
628 <term><command>dbus-update-activation-environment</command></term>
629 <listitem>
630 <para>
631 is used to update the environment used for
632 <application>D-Bus</application> session services;
633 it updates the list of environment variables used by
634 <command>dbus-daemon --session</command> when it activates session
635 services without using systemd.
636 </para>
637 <indexterm zone="dbus dbus-update-activation-environment">
638 <primary sortas="b-dbus-update-activation-environment">
639 dbus-update-activation-environment</primary>
640 </indexterm>
641 </listitem>
642 </varlistentry>
643
644 <varlistentry id="dbus-uuidgen">
645 <term><command>dbus-uuidgen</command></term>
646 <listitem>
647 <para>
648 is used to generate a universally unique ID.
649 </para>
650 <indexterm zone="dbus dbus-uuidgen">
651 <primary sortas="b-dbus-uuidgen">dbus-uuidgen</primary>
652 </indexterm>
653 </listitem>
654 </varlistentry>
655
656 <varlistentry id="libdbus-1">
657 <term><filename class="libraryfile">libdbus-1.so</filename></term>
658 <listitem>
659 <para>
660 contains the API functions used by the
661 <application>D-Bus</application> message daemon.
662 <application>D-Bus</application> is first a library that provides
663 one-to-one communication between any two applications;
664 <command>dbus-daemon</command> is an application that uses this
665 library to implement a message bus daemon.
666 </para>
667 <indexterm zone="dbus libdbus-1">
668 <primary sortas="c-libdbus-1">libdbus-1.so</primary>
669 </indexterm>
670 </listitem>
671 </varlistentry>
672
673 </variablelist>
674
675 </sect2>
676
677 <sect2 role="content" revision="systemd">
678 <title>Contents</title>
679
680 <para>
681 A list of the installed files, along with their short
682 descriptions can be found at
683 <ulink url="&lfs-rootd;/chapter06/dbus.html#contents-dbus"/>.
684 </para>
685
686 </sect2>
687
688
689</sect1>
690
Note: See TracBrowser for help on using the repository browser.