source: general/sysutils/hal.xml@ bf325a39

10.0 10.1 11.0 11.1 11.2 11.3 12.0 12.1 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 bf325a39 was bf325a39, checked in by Dan Nichilson <dnicholson@…>, 17 years ago

Updated to dbus-1.0.2 and added dbus-uuidgen to the bootscript

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

  • Property mode set to 100644
File size: 28.6 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 hal-download-http "http://freedesktop.org/~david/dist/hal-&hal-version;.tar.gz">
8 <!ENTITY hal-download-ftp "ftp://ftp.fu-berlin.de/unix/linux/mirrors/gentoo/distfiles/hal-&hal-version;.tar.gz">
9 <!ENTITY hal-md5sum "a6f532770cf9286e1de38d6570cbc6bc">
10 <!ENTITY hal-size "1.5 MB">
11 <!ENTITY hal-buildsize "20.2 MB">
12 <!ENTITY hal-time "0.4 SBU">
13
14 <!ENTITY hal-info-version "20070425">
15 <!ENTITY hal-info-download-http "http://freedesktop.org/~david/dist/hal-info-&hal-info-version;.tar.gz">
16 <!ENTITY hal-info-download-ftp "ftp://ftp.fu-berlin.de/unix/linux/mirrors/gentoo/distfiles/hal-info-&hal-info-version;.tar.gz">
17 <!ENTITY hal-info-md5sum "69022cc562aa374c603d3ff8ca33569c">
18 <!ENTITY hal-info-size "106 KB">
19]>
20
21<sect1 id="hal" xreflabel="HAL-&hal-version;">
22 <?dbhtml filename="hal.html"?>
23
24 <sect1info>
25 <othername>$LastChangedBy$</othername>
26 <date>$Date$</date>
27 </sect1info>
28
29 <title>HAL-&hal-version;</title>
30
31 <indexterm zone="hal">
32 <primary sortas="a-HAL">HAL</primary>
33 </indexterm>
34
35 <sect2 role="package">
36 <title>Introduction to HAL</title>
37
38 <para><application>HAL</application> is a hardware abstraction layer, which
39 is a piece of software that provides a view of the various hardware
40 attached to a system. In addition to this, <application>HAL</application>
41 keeps detailed metadata for each piece of hardware and provides hooks such
42 that system and desktop-level software can react to changes in the hardware
43 configuration in order to maintain system policy.</para>
44
45 <para>The most important goal of <application>HAL</application> is to
46 provide plug-and-play facilities for UNIX-like desktops with focus on
47 providing a rich and extensible description of device characteristics and
48 features. One example of the functionality provided by
49 <application>HAL</application> is when you plug in a USB storage device.
50 <application>HAL</application> can automatically create a mount point in
51 <filename class="directory">/media</filename> and mount the device.</para>
52
53 <bridgehead renderas="sect3">Package Information</bridgehead>
54 <itemizedlist spacing="compact">
55 <listitem>
56 <para>Download (HTTP): <ulink url="&hal-download-http;"/></para>
57 </listitem>
58 <listitem>
59 <para>Download (FTP): <ulink url="&hal-download-ftp;"/></para>
60 </listitem>
61 <listitem>
62 <para>Download MD5 sum: &hal-md5sum;</para>
63 </listitem>
64 <listitem>
65 <para>Download size: &hal-size;</para>
66 </listitem>
67 <listitem>
68 <para>Estimated disk space required: &hal-buildsize;</para>
69 </listitem>
70 <listitem>
71 <para>Estimated build time: &hal-time;</para>
72 </listitem>
73 </itemizedlist>
74
75 <bridgehead renderas="sect3">Additional Download</bridgehead>
76 <itemizedlist spacing='compact'>
77 <title>Required Hardware Data</title>
78 <listitem>
79 <para>Download (HTTP): <ulink url="&hal-info-download-http;"/></para>
80 </listitem>
81 <listitem>
82 <para>Download (FTP): <ulink url="&hal-info-download-ftp;"/></para>
83 </listitem>
84 <listitem>
85 <para>Download MD5 sum: &hal-info-md5sum;</para>
86 </listitem>
87 <listitem>
88 <para>Download size: &hal-info-size;</para>
89 </listitem>
90 </itemizedlist>
91
92 <bridgehead renderas="sect3">HAL Dependencies</bridgehead>
93
94 <bridgehead renderas="sect4">Required</bridgehead>
95 <para role="required"><xref linkend="pkgconfig"/>,
96 <xref linkend="glib2"/>,
97 <xref linkend="dbus"/>,
98 <!-- FIXME: Uncomment when the dbus bindings get in the book
99 <xref linkend="dbus-glib"/>,
100 -->
101 <xref linkend="python"/>, and
102 <xref linkend="perl-xml-parser"/></para>
103
104 <bridgehead renderas="sect4">Recommended</bridgehead>
105 <para role="recommended"><xref linkend="pciutils"/>
106 (with a current <filename>pci.ids</filename> file) and
107 <xref linkend="usbutils"/>
108 (with a current <filename>usb.ids</filename> file)</para>
109
110 <!-- FIXME: Uncomment when the dbus bindings get in the book
111 <bridgehead renderas="sect4">Optional (to Build
112 <command>hal-device-manager</command>)</bridgehead>
113 <para role="optional"><xref linkend="dbus-python"/></para>
114 -->
115
116 <bridgehead renderas="sect4">Optional (to Create Documentation)</bridgehead>
117 <para role="optional"><xref linkend="libxml2"/> and
118 <ulink url="http://cyberelk.net/tim/xmlto/">xmlto</ulink></para>
119
120 <bridgehead renderas="sect4">Optional</bridgehead>
121 <para role="optional"><xref linkend="gtk-doc"/>
122 <ulink url="http://www.gnu.org/software/parted/index.shtml">Parted</ulink>,
123 <xref linkend="libusb"/>,
124 <ulink url="http://linux.dell.com/libsmbios/main/index.html">libsmbios</ulink>,
125 <ulink url="http://gitweb.freedesktop.org/?p=PolicyKit.git;a=summary">PolicyKit</ulink>, and
126 <xref linkend="intltool"/></para>
127
128 <para condition="html" role="usernotes">User Notes:
129 <ulink url="&blfs-wiki;/hal"/></para>
130
131 </sect2>
132
133 <sect2 role="installation">
134 <title>Installation of HAL</title>
135
136 <para>You must create a dedicated user and group before installing the
137 package. Though the default BLFS instructions run the
138 <application>HAL</application> daemon as the
139 <systemitem class="username">root</systemitem> user, a configuration file
140 is installed which has the dedicated user's name hard-coded in it. This
141 causes a confusing message to be generated when starting the
142 <application>D-BUS</application> daemon. Issue the following commands as
143 the <systemitem class="username">root</systemitem> user:</para>
144
145<screen role="root"><userinput>groupadd -g 19 haldaemon &amp;&amp;
146useradd -c "HAL Daemon User" -d /dev/null -u 19 \
147 -g haldaemon -s /bin/false haldaemon</userinput></screen>
148
149 <para>Install <application>HAL</application> by running the following
150 commands:</para>
151
152<screen><userinput>./configure --prefix=/usr \
153 --sysconfdir=/etc \
154 --libexecdir=/usr/lib/hal \
155 --localstatedir=/var &amp;&amp;
156make</userinput></screen>
157
158 <para>To test the results, issue <command>make check</command>.</para>
159
160 <para>Now, as the <systemitem class="username">root</systemitem> user:</para>
161
162<screen role="root"><userinput>make install</userinput></screen>
163
164 <para>Prepare the <application>HAL</application> hardware data with the
165 following commands:</para>
166
167<screen><userinput>tar -xf ../hal-info-&hal-info-version;.tar.gz &amp;&amp;
168./configure --prefix=/usr</userinput></screen>
169
170 <para>Finally, as the <systemitem class="username">root</systemitem> user:</para>
171
172<screen role="root"><userinput>make install</userinput></screen>
173
174 </sect2>
175
176 <sect2 role="commands">
177 <title>Command Explanations</title>
178
179 <para><parameter>--libexecdir=/usr/lib/hal</parameter>: This parameter
180 forces the installation of libexec files to
181 <filename class='directory'>/usr/lib/hal</filename> instead of
182 <filename class='directory'>/usr/libexec</filename>.</para>
183
184 <para><parameter>--localstatedir=/var</parameter>: This parameter forces
185 the creation of the <filename>pid</filename> file to
186 <filename class='directory'>/var/run/hald</filename> instead of
187 <filename class='directory'>/usr/var/run/hald</filename>.</para>
188
189 <para><parameter>--enable-docbook-docs
190 --docdir=/usr/share/doc/hal-&hal-version;</parameter>: If <xref
191 linkend="libxml2"/> and <ulink
192 url="http://cyberelk.net/tim/xmlto/">xmlto</ulink> are available, these
193 parameters enable the <application>HAL</application> specification
194 documentation to be built.</para>
195
196 </sect2>
197
198 <sect2 id="hal-runtime-dependencies" xreflabel="GNOME-Python">
199 <title>Run-Time Dependencies</title>
200
201 <para>A few more packages enable more functionality in
202 <application>HAL</application> at run-time. These include <ulink
203 url="http://ca.geocities.com/jefftranter@rogers.com/eject.html">Eject</ulink>,
204 <ulink url="http://people.freedesktop.org/~mccann/dist/">ConsoleKit</ulink>,
205 <ulink url="http://www.nongnu.org/dmidecode/">dmidecode</ulink>,
206 <ulink url="http://sourceware.org/dm/">Device-mapper</ulink>,
207 <ulink url="http://luks.endorphin.org/dm-crypt">Cryptsetup-LUKS</ulink>, and
208 <ulink url="http://cvsweb.freedesktop.org/pm-utils/pm-utils/">pm-utils</ulink>.</para>
209
210 <para>The <xref linkend="hal-device-manager"/> program requires several
211 additional packages to be installed before it will run. The list is
212 significant and requires a substantial commitment to install them. It is
213 left up to you to determine if the time and effort spent installing the
214 following packages is worth using the <command>hal-device-manager</command>
215 program.</para>
216
217 <para>Though the only requirement to run the
218 <command>hal-device-manager</command> program is installing
219 <ulink url="&gnome-download-http;/gnome-python/">
220 GNOME-Python</ulink>, the dependency list is staggering. The following
221 list does not include the dependencies already identified in the BLFS
222 book. For example, <application>libgnome</application> already lists
223 <application>GNOME VFS</application>, <application>GConf</application>,
224 etc., so they are not repeated here. Note that some of the dependencies
225 have their own dependencies, which have their own, and so forth and so
226 on.</para>
227
228 <itemizedlist>
229 <listitem>
230 <para><ulink
231 url="&gnome-download-http;/gnome-python/">GNOME-Python</ulink>
232 </para>
233
234 <itemizedlist>
235 <listitem>
236 <para><ulink
237 url="http://www.pygtk.org/">PyGTK</ulink> (required)
238 </para>
239
240 <itemizedlist>
241 <listitem>
242 <para><xref linkend="libglade"/> (required)</para>
243 </listitem>
244 <listitem>
245 <para><ulink
246 url="&gnome-download-http;/pygobject/">PyGObject</ulink> (required)</para>
247 </listitem>
248 <listitem>
249 <para><ulink
250 url="http://www.cairographics.org/pycairo">Pycairo</ulink> (optional)
251 </para>
252
253 <!-- Removing these dependencies as they are now obsolete
254 See the pycairo docs for full details
255 <itemizedlist>
256 <listitem>
257 <para><ulink
258 url="http://www.cairographics.org/snapshots/">libsvg-cairo</ulink> (optional)
259 </para>
260
261 <itemizedlist>
262 <listitem>
263 <para><ulink
264 url="http://www.cairographics.org/snapshots/">libsvg</ulink> (required)
265 </para>
266 </listitem>
267 </itemizedlist>
268
269 </listitem>
270 <listitem>
271 <para><ulink
272 url="http://www.pygtk.org/">PyGTK</ulink> (optional, and circular)
273 </para>
274 </listitem>
275 <listitem>
276 <para><ulink
277 url="http://sourceforge.net/projects/numpy">Numerical Python</ulink> (optional)
278 </para>
279 </listitem>
280 </itemizedlist>
281 -->
282
283 </listitem>
284 <listitem>
285 <para><ulink
286 url="http://sourceforge.net/projects/numpy">Old Numeric</ulink> (optional)
287 </para>
288 </listitem>
289 </itemizedlist>
290
291 </listitem>
292 <listitem>
293 <para><xref linkend="libgnomeui"/> (optional)</para>
294 </listitem>
295 <listitem>
296 <para><xref linkend="libgnome"/> (required)</para>
297 </listitem>
298 <listitem>
299 <para><ulink
300 url="&gnome-download-http;/pyorbit/">PyORBit</ulink> (optional)
301 </para>
302
303 <itemizedlist>
304 <listitem>
305 <para><xref linkend="ORBit2"/> (required)</para>
306 </listitem>
307 </itemizedlist>
308
309 </listitem>
310 </itemizedlist>
311
312 </listitem>
313 </itemizedlist>
314
315 <note>
316 <para>The dependency list is designed to start at the bottom and work
317 your way up until the last package to install is
318 <application>GNOME-Python</application>. Note that the dependencies
319 marked as <quote>required</quote> are required for the package it is
320 listed under. For example, you don't need to install
321 <application>ORBit</application> if you don't plan on installing
322 <application>PyORBit</application>. The minimum packages you could
323 install to support running <xref linkend="hal-device-manager"/> would be
324 (in this order): <xref linkend="libgnome"/>, <xref linkend="libglade"/>,
325 <ulink url="http://www.pygtk.org/">PyGTK</ulink> and <ulink
326 url="&gnome-download-http;/gnome-python/">
327 GNOME-Python</ulink>.</para>
328 </note>
329
330 </sect2>
331
332 <sect2 role="configuration">
333 <title>Configuring HAL</title>
334
335 <sect3 id="hal-config">
336 <title>Config Files</title>
337 <para><filename>/etc/dbus-1/system.d/hal.conf</filename>,
338 <filename>/etc/dbus-1/system.d/halusers.conf</filename> and
339 <filename>/etc/hal/*</filename></para>
340
341 <indexterm zone="hal hal-config">
342 <primary sortas="e-etc-dbus-1-system.d-hal.conf">/etc/dbus-1/system.d/hal.conf</primary>
343 </indexterm>
344
345 <indexterm zone="hal hal-config">
346 <primary sortas="e-etc-dbus-1-system.d-halusers.conf">/etc/dbus-1/system.d/halusers.conf</primary>
347 </indexterm>
348
349 <indexterm zone="hal hal-config">
350 <primary sortas="e-etc-hal-star">/etc/hal/*</primary>
351 </indexterm>
352 </sect3>
353
354 <sect3><title>Configuration Information</title>
355
356 <para>The default setup for <application>HAL</application> is to allow
357 only certain users to invoke methods such as Mount(). These are
358 the <systemitem class="username">root</systemitem> user and the user
359 determined to be at the active console using <ulink
360 url="&blfs-wiki;/linux-pam">pam_console</ulink>. If you are not set
361 up to use <xref linkend="linux-pam"/> and <ulink
362 url="&blfs-wiki;/linux-pam">pam_console</ulink>, create a group that
363 is allowed to invoke <application>HAL</application> methods with the
364 following commands:</para>
365
366<screen role="root"><userinput>groupadd -g 61 halusers &amp;&amp;
367cat &gt; /etc/dbus-1/system.d/halusers.conf &lt;&lt; "EOF"
368<literal>&lt;!DOCTYPE busconfig PUBLIC
369 "-//freedesktop//DTD D-BUS Bus Configuration 1.0//EN"
370 "http://www.freedesktop.org/standards/dbus/1.0/busconfig.dtd"&gt;
371&lt;busconfig&gt;
372
373 &lt;!-- Allow users in the halusers group invoke HAL methods --&gt;
374 &lt;policy group="halusers"&gt;
375 &lt;allow send_interface="org.freedesktop.Hal.Device.SystemPowerManagement"/&gt;
376 &lt;allow send_interface="org.freedesktop.Hal.Device.LaptopPanel"/&gt;
377 &lt;allow send_interface="org.freedesktop.Hal.Device.Volume"/&gt;
378 &lt;allow send_interface="org.freedesktop.Hal.Device.Volume.Crypto"/&gt;
379 &lt;/policy&gt;
380
381&lt;/busconfig&gt;</literal>
382EOF</userinput></screen>
383
384 <para>Now add the users you would like to the <systemitem
385 class="groupname">halusers</systemitem> group to use
386 <application>HAL</application>. Note that these users still need
387 to have appropriate permissions to access the devices that
388 <application>HAL</application> will invoke its methods on.</para>
389
390 <para>With the above configuration in place, authorized users now
391 have the ability to unmount disk partitions mounted at non-standard
392 locations such as <filename class='directory'>/pub</filename>. If
393 you'd like to restrict this policy to only drives which are considered
394 removable or hotpluggable, add the following configuration file as
395 the <systemitem class='username'>root</systemitem> user:</para>
396
397<screen role="root"><userinput>cat &gt; /etc/hal/fdi/policy/no-fixed-drives.fdi &lt;&lt; "EOF"
398<literal>&lt;?xml version="1.0" encoding="UTF-8"?&gt; &lt;!-- -*- SGML -*- --&gt;
399
400&lt;!-- Don't allow HAL methods on disks that are not
401 removable or hotpluggable --&gt;
402
403&lt;deviceinfo version="0.2"&gt;
404&lt;device&gt;
405 &lt;match key="@block.storage_device:storage.hotpluggable" bool="false"&gt;
406 &lt;match key="@block.storage_device:storage.removable" bool="false"&gt;
407 &lt;merge key="volume.ignore" type="bool"&gt;true&lt;/merge&gt;
408 &lt;/match&gt;
409 &lt;/match&gt;
410&lt;/device&gt;
411&lt;/deviceinfo&gt;</literal>
412EOF</userinput></screen>
413
414 <para><application>HAL</application> only provides the methods such
415 as Mount() to act on hardware. In order to take advantage of these,
416 a <application>HAL</application> event handler such as
417 <xref linkend="gnome-volume-manager"/> or <ulink
418 url="http://ivman.sourceforge.net/">Ivman</ulink> should be
419 installed.</para>
420
421 <!-- Following note is only relevant for HAL-0.5.7.x.
422 Fixed upstream. -->
423 <note>
424 <para><application>HAL</application> will ignore any devices listed
425 in <filename>/etc/fstab</filename> for the purpose of automounting.
426 You must remove any listings for devices that you would like
427 automounted such as CD-ROMs or USB keys.</para>
428 </note>
429
430 <!-- This section commented out for now until it is determined what should
431 be placed in this section
432
433 FIXME: I think this information is still relevant with the
434 exception of its interaction with /etc/fstab. Needs investigation.
435
436 <para>No configuration is necessary for the majority of installations
437 on systems configured with ISO-8859-1 compatible locales. The defaults
438 should work just fine. For some installations, tweaking of the various
439 policies may be required. One such configuration change necessary in some
440 locales is identifying the <option>iocharset</option> and
441 <option>codepage</option> variables in the
442 <filename>/etc/fstab</filename> entries created by the
443 <command>fstab-sync</command> program. If changes are required to the
444 configuration so that your locale is properly identified in the entries
445 created in <filename>/etc/fstab</filename>, issue the following commands
446 as the <systemitem class="username">root</systemitem> user (you must
447 substitute the proper data for the
448 <replaceable>&lt;iocharset&gt;</replaceable> and
449 <replaceable>&lt;codepage&gt;</replaceable> info):</para>
450
451<screen role="root"><userinput>install -v -m755 -d /etc/hal/fdi/policy/30user &amp;&amp;
452cat &gt; /etc/hal/fdi/policy/30user/30user-policy.fdi &lt;&lt; "EOF"
453<literal>&lt;?xml version="1.0" encoding="UTF-8"?&gt; &lt;!- -*- SGML -*- -&gt;
454
455&lt;!-
456This file is used to set custom options to the HAL policy settings.
457The default policy settings are defined in files contained in the
458/usr/share/hal/fdi/policy directories. User defined customizations
459should be in files contained in the /etc/hal/fdi/policy directories.
460-&gt;
461
462&lt;deviceinfo version="0.2"&gt;
463
464 &lt;device&gt;
465 &lt;match key="info.udi"
466 string="/org/freedesktop/Hal/devices/computer"&gt;
467
468 &lt;!- Set the iocharset variable in the /etc/fstab file entry -&gt;
469 &lt;merge
470 key="storage.policy.default.mount_option.iocharset=<replaceable>&lt;iocharset&gt;</replaceable>"
471 type="bool"&gt;true&lt;/merge&gt;
472
473 &lt;!- Set the codepage variable in the /etc/fstab file entry -&gt;
474 &lt;merge
475 key="storage.policy.default.mount_option.codepage=<replaceable>&lt;codepage&gt;</replaceable>"
476 type="bool"&gt;true&lt;/merge&gt;
477
478 &lt;/match&gt;
479 &lt;/device&gt;
480
481&lt;/deviceinfo&gt;</literal>
482
483EOF</userinput></screen>
484
485 <note>
486 <para>The previous commands created a file named
487 <filename>/etc/hal/fdi/policy/30user/30user-policy.fdi</filename>. To
488 ease readability of the file, put everything between the
489 &lt;angle brackets&gt; and &lt;merge&gt;&lt;/merge&gt; tags on one
490 line. You must have at least one space character
491 where the ends of the lines were. The file would then look like this
492 (trimmed at the top and bottom for brevity):</para>
493
494<screen><literal> &lt;device&gt;
495 &lt;match key="<replaceable>&lt;text&gt;</replaceable>" string="<replaceable>&lt;text&gt;</replaceable>"&gt;
496
497 &lt;!- Set the iocharset variable in the /etc/fstab file entry -&gt;
498 &lt;merge key="<replaceable>&lt;iocharset text&gt;</replaceable>" type="bool"&gt;true&lt;/merge&gt;
499
500 &lt;!- Set the codepage variable in the /etc/fstab file entry -&gt;
501 &lt;merge key="<replaceable>&lt;codepage text&gt;</replaceable>" type="bool"&gt;true&lt;/merge&gt;
502
503 &lt;/match&gt;
504 &lt;/device&gt;</literal></screen>
505
506 </note>
507
508 -->
509
510 </sect3>
511
512 <sect3 id="hal-init">
513 <title>Boot Script</title>
514
515 <para>To automatically start the <command>hald</command> daemon
516 when the system is rebooted, install the
517 <filename>/etc/rc.d/init.d/haldaemon</filename>
518 bootscript from the
519 <xref linkend="bootscripts"/> package.</para>
520
521 <indexterm zone="hal hal-init">
522 <primary sortas="f-haldaemon">haldaemon</primary>
523 </indexterm>
524
525 <!-- Not sure if this is still required any longer as the HAL daemon
526 used to hang if you didn't first restart the DBUS daemon. This is
527 not the case any longer, but it still seems that D-Bus should be
528 restarted, as the hald.conf file is read by the D-BUS daemon.
529 Leaving it in for now until it is positively confirmed it is not
530 required. -->
531
532 <important>
533 <para>If the system-wide <application>D-BUS</application> daemon was
534 running during the installation of <application>HAL</application>,
535 ensure you stop and restart the <application>D-BUS</application>
536 daemon before attempting to start the <command>hald</command>
537 daemon.</para>
538 </important>
539
540<screen role="root"><userinput>make install-haldaemon</userinput></screen>
541
542 </sect3>
543
544 </sect2>
545
546 <sect2 role="content">
547 <title>Contents</title>
548
549 <segmentedlist>
550 <segtitle>Installed Programs</segtitle>
551 <segtitle>Installed Libraries</segtitle>
552 <segtitle>Installed Directories</segtitle>
553
554 <seglistitem>
555 <seg>hal-device, hal-device-manager, hal-disable-polling,
556 hal-find-by-capability, hal-find-by-property, hal-get-property,
557 hal-set-property, hal-is-caller-locked-out, hal-lock, hald and
558 lshal</seg>
559 <seg>libhal.{so,a} and libhal-storage,{so,a}</seg>
560 <seg>/etc/hal, /usr/include/hal, /usr/lib/hal,
561 /usr/share/doc/hal-&hal-version;, /usr/share/hal, /var/cache/hald,
562 /var/lib/hal, and /var/run/hald</seg>
563 </seglistitem>
564 </segmentedlist>
565
566 <variablelist>
567 <bridgehead renderas="sect3">Short Descriptions</bridgehead>
568 <?dbfo list-presentation="list"?>
569 <?dbhtml list-presentation="table"?>
570
571 <varlistentry id="hal-device">
572 <term><command>hal-device</command></term>
573 <listitem>
574 <para>is used to create, remove or show a
575 <application>HAL</application> device.</para>
576 <indexterm zone="hal hal-device">
577 <primary sortas="b-hal-device">hal-device</primary>
578 </indexterm>
579 </listitem>
580 </varlistentry>
581
582 <varlistentry id="hal-device-manager">
583 <term><command>hal-device-manager</command></term>
584 <listitem>
585 <para>shows a graphical representation of all the devices
586 <application>HAL</application> is aware of. This program requires
587 <xref linkend="hal-runtime-dependencies"/>. Here is a <ulink
588 url="http://cvs.freedesktop.org/*checkout*/hal/hal/doc/spec/hal-devices1.png">
589 screenshot</ulink> of <command>hal-device-manager</command>
590 communicating with the HAL daemon and displaying a tree of device
591 objects. The shown properties in the screenshot are for a device
592 object representing a hard disk.</para>
593 <indexterm zone="hal hal-device-manager">
594 <primary sortas="b-hal-device-manager">hal-device-manager</primary>
595 </indexterm>
596 </listitem>
597 </varlistentry>
598
599 <varlistentry id="hal-disable-polling">
600 <term><command>hal-disable-polling</command></term>
601 <listitem>
602 <para>can be used to to disable and enable media detection on
603 drives with removable storage.</para>
604 <indexterm zone="hal hal-disable-polling">
605 <primary sortas="b-hal-disable-polling">hal-disable-polling</primary>
606 </indexterm>
607 </listitem>
608 </varlistentry>
609
610 <varlistentry id="hal-find-by-capability">
611 <term><command>hal-find-by-capability</command></term>
612 <listitem>
613 <para>prints the Unique Device Identifiers for
614 <application>HAL</application> device objects of a given
615 capability.</para>
616 <indexterm zone="hal hal-find-by-capability">
617 <primary sortas="b-hal-find-by-capability">hal-find-by-capability</primary>
618 </indexterm>
619 </listitem>
620 </varlistentry>
621
622 <varlistentry id="hal-find-by-property">
623 <term><command>hal-find-by-property</command></term>
624 <listitem>
625 <para>prints the Unique Device Identifiers for
626 <application>HAL</application> device objects where a given property
627 assumes a given value.</para>
628 <indexterm zone="hal hal-find-by-property">
629 <primary sortas="b-hal-find-by-property">hal-find-by-property</primary>
630 </indexterm>
631 </listitem>
632 </varlistentry>
633
634 <varlistentry id="hal-get-property">
635 <term><command>hal-get-property</command></term>
636 <listitem>
637 <para>retrieves a property from a device.</para>
638 <indexterm zone="hal hal-get-property">
639 <primary sortas="b-hal-get-property">hal-get-property</primary>
640 </indexterm>
641 </listitem>
642 </varlistentry>
643
644 <varlistentry id="hal-set-property">
645 <term><command>hal-set-property</command></term>
646 <listitem>
647 <para>attempts to set property for a device. Note that, due to
648 security considerations, it may not be possible to set a
649 property.</para>
650 <indexterm zone="hal hal-set-property">
651 <primary sortas="b-hal-set-property">hal-set-property</primary>
652 </indexterm>
653 </listitem>
654 </varlistentry>
655
656 <varlistentry id="hal-is-caller-locked-out">
657 <term><command>hal-is-caller-locked-out</command></term>
658 <listitem>
659 <para>determines if a specific caller is locked out of a specific
660 <application>D-Bus</application> interface on a specific device.</para>
661 <indexterm zone="hal hal-is-caller-locked-out">
662 <primary sortas="b-hal-is-caller-locked-out">hal-is-caller-locked-out</primary>
663 </indexterm>
664 </listitem>
665 </varlistentry>
666
667 <varlistentry id="hald">
668 <term><command>hald</command></term>
669 <listitem>
670 <para>is the <application>HAL</application> daemon program.</para>
671 <indexterm zone="hal hald">
672 <primary sortas="b-hald">hald</primary>
673 </indexterm>
674 </listitem>
675 </varlistentry>
676
677 <varlistentry id="lshal">
678 <term><command>lshal</command></term>
679 <listitem>
680 <para>shows all devices and their properties. If the --monitor option
681 is given then the device list and all devices are monitored for
682 changes.</para>
683 <indexterm zone="hal lshal">
684 <primary sortas="b-lshal">lshal</primary>
685 </indexterm>
686 </listitem>
687 </varlistentry>
688
689 <varlistentry id="libhal">
690 <term><filename class='libraryfile'>libhal.{so,a}</filename></term>
691 <listitem>
692 <para>contains the API functions required by the
693 <application>HAL</application> programs.</para>
694 <indexterm zone="hal libhal">
695 <primary sortas="c-libhal">libhal.{so,a}</primary>
696 </indexterm>
697 </listitem>
698 </varlistentry>
699
700 <varlistentry id="libhal-storage">
701 <term><filename class='libraryfile'>libhal-storage.{so,a}</filename></term>
702 <listitem>
703 <para>contains the API functions required by the
704 <application>HAL</application> storage and volume utility
705 programs.</para>
706 <indexterm zone="hal libhal-storage">
707 <primary sortas="c-libhal-storage">libhal-storage.{so,a}</primary>
708 </indexterm>
709 </listitem>
710 </varlistentry>
711
712 </variablelist>
713
714 </sect2>
715
716</sect1>
Note: See TracBrowser for help on using the repository browser.