source: general/sysutils/dbus.xml@ e7d893b

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

Merge to HEAD 21602.

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