source: general/sysutils/hal.xml@ 5f533093

10.0 10.1 11.0 11.1 11.2 11.3 12.0 12.1 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 5f533093 was c1d34d6c, checked in by Robert Connolly <robert@…>, 14 years ago

Use the bzip2 copies of the hal and hal-info tarballs.

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

  • Property mode set to 100644
File size: 26.1 KB
RevLine 
[9eea651]1<?xml version="1.0" encoding="ISO-8859-1"?>
[6732c094]2<!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
3 "http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" [
[9eea651]4 <!ENTITY % general-entities SYSTEM "../../general.ent">
5 %general-entities;
6
[c1d34d6c]7 <!ENTITY hal-download-http "http://hal.freedesktop.org/releases/hal-&hal-version;.tar.bz2">
[d0bf291]8 <!ENTITY hal-download-ftp " ">
[c1d34d6c]9 <!ENTITY hal-md5sum "c627d8fb0f9afff94f3c687b5216bc06">
10 <!ENTITY hal-size "924 KB">
[6c3d95f9]11 <!ENTITY hal-buildsize "25 MB">
12 <!ENTITY hal-time "0.5 SBU">
[d0bf291]13
[6c3d95f9]14 <!ENTITY hal-info-version "20091130">
[c1d34d6c]15 <!ENTITY hal-info-download-http "http://hal.freedesktop.org/releases/hal-info-&hal-info-version;.tar.bz2">
[d0bf291]16 <!ENTITY hal-info-download-ftp " ">
[c1d34d6c]17 <!ENTITY hal-info-md5sum "995b8d2dbfb0646b07c92bb8d23cbcf1">
18 <!ENTITY hal-info-size "108 KB">
[9eea651]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
[1f93d11]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.
[baf47952]50 <application>HAL</application> can automatically create a mount point in
51 <filename class="directory">/media</filename> and mount the device.</para>
[9eea651]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
[d0bf291]75 <bridgehead renderas="sect3">Additional Package Download</bridgehead>
[4ea8ecd1]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
[9eea651]92 <bridgehead renderas="sect3">HAL Dependencies</bridgehead>
93
94 <bridgehead renderas="sect4">Required</bridgehead>
[6c3d95f9]95 <para role="required"><xref linkend="dbus-glib"/></para>
[9eea651]96
97 <bridgehead renderas="sect4">Recommended</bridgehead>
[3e5fad0]98 <para role="recommended"><xref linkend="pciutils"/>
99 (with a current <filename>pci.ids</filename> file) and
100 <xref linkend="usbutils"/>
101 (with a current <filename>usb.ids</filename> file)</para>
[9eea651]102
[bf325a39]103 <bridgehead renderas="sect4">Optional (to Build
104 <command>hal-device-manager</command>)</bridgehead>
[f55cbb3]105 <para role="optional"><xref linkend="python"/></para>
[bf325a39]106
[4ea8ecd1]107 <bridgehead renderas="sect4">Optional (to Create Documentation)</bridgehead>
[6129b81]108 <para role="optional"><xref linkend="xmlto"/></para>
[4ea8ecd1]109
[9eea651]110 <bridgehead renderas="sect4">Optional</bridgehead>
[dc66411]111 <para role="optional"><xref linkend="gtk-doc"/>,
[6c3d95f9]112 <xref linkend="acl"/>,
113 <xref linkend="gperf"/>,
[6d32e7af]114 <xref linkend="policykit"/>,
[6c3d95f9]115 <xref linkend="consolekit"/>,
116 <xref linkend="intltool"/>,
[2875f488]117 <xref linkend="parted"/>, and
[6c3d95f9]118 <ulink url="https://fedorahosted.org/libsmbios/">libsmbios</ulink></para>
[d0bf291]119
[1039de3]120 <para condition="html" role="usernotes">User Notes:
121 <ulink url="&blfs-wiki;/hal"/></para>
122
[9eea651]123 </sect2>
124
125 <sect2 role="installation">
126 <title>Installation of HAL</title>
127
[1f93d11]128 <para>You must create a dedicated user and group before installing the
129 package. Though the default BLFS instructions run the
130 <application>HAL</application> daemon as the
131 <systemitem class="username">root</systemitem> user, a configuration file
132 is installed which has the dedicated user's name hard-coded in it. This
133 causes a confusing message to be generated when starting the
134 <application>D-BUS</application> daemon. Issue the following commands as
135 the <systemitem class="username">root</systemitem> user:</para>
[9eea651]136
[9624412]137<screen role="root"><userinput>groupadd -fg 19 haldaemon &amp;&amp;
[9eea651]138useradd -c "HAL Daemon User" -d /dev/null -u 19 \
[9624412]139 -g haldaemon -s /bin/false haldaemon || [ $? == 9 ]</userinput></screen>
[9eea651]140
[311ad41a]141 <para>Install <application>HAL</application> by running the following
142 commands:</para>
[9eea651]143
[3e5fad0]144<screen><userinput>./configure --prefix=/usr \
[9eea651]145 --sysconfdir=/etc \
[9faa2754]146 --libexecdir=/usr/lib/hal \
[6c3d95f9]147 --localstatedir=/var \
[f0211af2]148 --docdir=/usr/share/doc/hal-&hal-version; \
[9624412]149 --enable-policy-kit=no &amp;&amp;
[9eea651]150make</userinput></screen>
151
[9327a61]152 <para>To test the results, issue: <command>make check</command>.</para>
[9eea651]153
154 <para>Now, as the <systemitem class="username">root</systemitem> user:</para>
155
[4ea8ecd1]156<screen role="root"><userinput>make install</userinput></screen>
157
[d0bf291]158 <para>Install the <application>HAL</application> hardware data with the
[4ea8ecd1]159 following commands:</para>
160
161<screen><userinput>tar -xf ../hal-info-&hal-info-version;.tar.gz &amp;&amp;
[0fed2183]162cd hal-info-&hal-info-version; &amp;&amp;
[6c3d95f9]163./configure --prefix=/usr --sysconfdir=/etc</userinput></screen>
[4ea8ecd1]164
[6c3d95f9]165 <para>Now, as the <systemitem class="username">root</systemitem> user:</para>
[4ea8ecd1]166
167<screen role="root"><userinput>make install</userinput></screen>
[9eea651]168
169 </sect2>
170
171 <sect2 role="commands">
172 <title>Command Explanations</title>
173
[9faa2754]174 <para><parameter>--libexecdir=/usr/lib/hal</parameter>: This parameter
175 forces the installation of libexec files to
176 <filename class='directory'>/usr/lib/hal</filename> instead of
[9eea651]177 <filename class='directory'>/usr/libexec</filename>.</para>
178
179 <para><parameter>--localstatedir=/var</parameter>: This parameter forces
180 the creation of the <filename>pid</filename> file to
181 <filename class='directory'>/var/run/hald</filename> instead of
182 <filename class='directory'>/usr/var/run/hald</filename>.</para>
183
[9624412]184 <para><parameter>--enable-policy-kit=no</parameter>: This parameter is
[f0211af2]185 required if PolicyKit is not installed. Remove it if PolicyKit is
186 installed.</para>
187
[4ea8ecd1]188 <para><parameter>--enable-docbook-docs
189 --docdir=/usr/share/doc/hal-&hal-version;</parameter>: If <xref
[6129b81]190 linkend="xmlto"/> is available, these parameters enable the
191 <application>HAL</application> specification documentation to be
192 built.</para>
[4ea8ecd1]193
[9eea651]194 </sect2>
195
[73f235b]196 <sect2>
[1f93d11]197 <title>Run-Time Dependencies</title>
198
[4ea8ecd1]199 <para>A few more packages enable more functionality in
[6b3a2011]200 <application>HAL</application> at run-time.
201 These include <xref linkend="eject"/>, <ulink
202 url="http://www.nongnu.org/dmidecode/">dmidecode</ulink>,
[2875f488]203 <xref linkend="Device-mapper"/>,
[4ea8ecd1]204 <ulink url="http://luks.endorphin.org/dm-crypt">Cryptsetup-LUKS</ulink>, and
[af73862c]205 <ulink url="http://pm-utils.freedesktop.org/wiki/">pm-utils</ulink>.</para>
[4ea8ecd1]206
[1f93d11]207 <para>The <xref linkend="hal-device-manager"/> program requires several
[8c26139]208 additional <application>Python</application> modules to be available at
209 runtime. These are <xref linkend="dbus-python"/>,
[ce892ab3]210 <xref linkend="pygtk"/> (including the gtk and gtk.libglade modules), and
211 <xref linkend="gnome-python"/> (including the gnome.ui module).</para>
[1f93d11]212
213 </sect2>
214
[9eea651]215 <sect2 role="configuration">
216 <title>Configuring HAL</title>
217
218 <sect3 id="hal-config">
219 <title>Config Files</title>
[baf47952]220 <para><filename>/etc/dbus-1/system.d/hal.conf</filename>,
221 <filename>/etc/dbus-1/system.d/halusers.conf</filename> and
[9eea651]222 <filename>/etc/hal/*</filename></para>
223
224 <indexterm zone="hal hal-config">
225 <primary sortas="e-etc-dbus-1-system.d-hal.conf">/etc/dbus-1/system.d/hal.conf</primary>
226 </indexterm>
227
[baf47952]228 <indexterm zone="hal hal-config">
229 <primary sortas="e-etc-dbus-1-system.d-halusers.conf">/etc/dbus-1/system.d/halusers.conf</primary>
230 </indexterm>
231
[9eea651]232 <indexterm zone="hal hal-config">
233 <primary sortas="e-etc-hal-star">/etc/hal/*</primary>
234 </indexterm>
235 </sect3>
236
[baf47952]237 <sect3><title>Configuration Information</title>
[3496df9]238 <sect4><title>Allowing users to invoke HAL methods</title>
[baf47952]239
240 <para>The default setup for <application>HAL</application> is to allow
241 only certain users to invoke methods such as Mount(). These are
242 the <systemitem class="username">root</systemitem> user and the user
243 determined to be at the active console using <ulink
244 url="&blfs-wiki;/linux-pam">pam_console</ulink>. If you are not set
245 up to use <xref linkend="linux-pam"/> and <ulink
246 url="&blfs-wiki;/linux-pam">pam_console</ulink>, create a group that
247 is allowed to invoke <application>HAL</application> methods with the
248 following commands:</para>
249
[9624412]250<screen role="root"><userinput>groupadd -fg 61 halusers &amp;&amp;
[baf47952]251cat &gt; /etc/dbus-1/system.d/halusers.conf &lt;&lt; "EOF"
252<literal>&lt;!DOCTYPE busconfig PUBLIC
253 "-//freedesktop//DTD D-BUS Bus Configuration 1.0//EN"
254 "http://www.freedesktop.org/standards/dbus/1.0/busconfig.dtd"&gt;
255&lt;busconfig&gt;
256
[9a003fe1]257 &lt;!-- Allow users in the halusers group invoke HAL methods --&gt;
258 &lt;policy group="halusers"&gt;
259 &lt;allow send_interface="org.freedesktop.Hal.Device.SystemPowerManagement"/&gt;
260 &lt;allow send_interface="org.freedesktop.Hal.Device.LaptopPanel"/&gt;
261 &lt;allow send_interface="org.freedesktop.Hal.Device.Volume"/&gt;
262 &lt;allow send_interface="org.freedesktop.Hal.Device.Volume.Crypto"/&gt;
263 &lt;/policy&gt;
[baf47952]264
265&lt;/busconfig&gt;</literal>
266EOF</userinput></screen>
267
268 <para>Now add the users you would like to the <systemitem
269 class="groupname">halusers</systemitem> group to use
[3a79861]270 <application>HAL</application>.</para>
[c5923846]271
[3a79861]272<screen role="root"><userinput>usermod -a -G halusers <replaceable>&lt;username&gt;</replaceable></userinput></screen>
[c5923846]273
[3a79861]274 <para>Note that these users still need
[baf47952]275 to have appropriate permissions to access the devices that
276 <application>HAL</application> will invoke its methods on.</para>
277
[befd6fb]278 <para>With the above configuration in place, authorized users now
279 have the ability to unmount disk partitions mounted at non-standard
280 locations such as <filename class='directory'>/pub</filename>. If
281 you'd like to restrict this policy to only drives which are considered
282 removable or hotpluggable, add the following configuration file as
283 the <systemitem class='username'>root</systemitem> user:</para>
284
285<screen role="root"><userinput>cat &gt; /etc/hal/fdi/policy/no-fixed-drives.fdi &lt;&lt; "EOF"
286<literal>&lt;?xml version="1.0" encoding="UTF-8"?&gt; &lt;!-- -*- SGML -*- --&gt;
287
288&lt;!-- Don't allow HAL methods on disks that are not
289 removable or hotpluggable --&gt;
290
291&lt;deviceinfo version="0.2"&gt;
292&lt;device&gt;
293 &lt;match key="@block.storage_device:storage.hotpluggable" bool="false"&gt;
294 &lt;match key="@block.storage_device:storage.removable" bool="false"&gt;
295 &lt;merge key="volume.ignore" type="bool"&gt;true&lt;/merge&gt;
296 &lt;/match&gt;
297 &lt;/match&gt;
298&lt;/device&gt;
299&lt;/deviceinfo&gt;</literal>
300EOF</userinput></screen>
[3496df9]301 </sect4>
[befd6fb]302
[3496df9]303 <sect4><title>Installing mount helpers</title>
[baf47952]304 <para><application>HAL</application> only provides the methods such
305 as Mount() to act on hardware. In order to take advantage of these,
[9624412]306 a <application>HAL</application> event handler such as <ulink
[baf47952]307 url="http://ivman.sourceforge.net/">Ivman</ulink> should be
308 installed.</para>
[fcceb000]309 <!-- FIXME: is Ivman still alive? -->
[3496df9]310 <!-- FIXME: explicitly name the mount helpers
311 from KDE (???) and Xfce (exo-mount) -->
312 </sect4>
[fcceb000]313
[3496df9]314 <sect4><title>Changing default mount options</title>
[fcceb000]315 <para>In some cases, it is necessary to specify some default mount
316 options for filesystems. E.g., in non-English environments, the
317 <option>iocharset</option> and <option>codepage</option> options
[19a2f8f2]318 are needed for filesystems of Windows origin in order to show
[fcceb000]319 national characters correctly. Also, due to a
320 <ulink url="https://launchpad.net/bugs/133567">bug</ulink> in the
321 Linux kernel version in LFS (2.6.22.x), you may want to pass the
[37b13ed]322 <option>usefree</option> option to vfat filesystems in order to reduce
[fcceb000]323 the time needed to determine the amount of free space on the
324 filesystem.</para>
325
326 <para>Google search results for <quote>hal default mount options</quote>
327 are still full of recommendations to create <filename>*.fdi</filename>
328 files mentioning either
[19a2f8f2]329 <option>volume.policy</option> or <option>storage.policy</option> keys.
[fcceb000]330 Such recommendations worked for HAL-0.4.x only and are invalid now.
331 For HAL-&hal-version;, mount options are expected to be handled
332 as follows:</para>
333
334 <itemizedlist>
335 <listitem>
336 <para>An event handler from the desktop environment receives an
337 event describing the newly-added storage device.</para>
338 </listitem>
339 <listitem>
340 <para>If the storage device is not already mentioned in
341 <filename>/etc/fstab</filename>, mount options are fetched from
342 a database of user preferences, which is specific to the desktop
343 environment, and passed back to HAL.
344 This process can be influenced by the filesystem type
345 and possibly other volume properties available from HAL.</para>
346 </listitem>
347 <listitem>
348 <para>If the options are in the list of permitted ones, HAL
349 mounts the volume.</para>
350 </listitem>
351 </itemizedlist>
352
353 <para>The important point above is that the configuration procedure is
354 desktop-specific. However, as of December, 2007, only GNOME allows the
[3496df9]355 user to set default mount options on a per-filesystem basis,
356 as described in the next paragraph.
357 KDE allows the mount options to be set only on a per-volume basis,
[fcceb000]358 not per-filesystem, which is a
359 <ulink url="http://bugs.kde.org/show_bug.cgi?id=133456">bug</ulink>,
360 because, as mentioned in the report, <quote>for every new device (let's
[f2775848]361 say your friend's USB stick) you have to first not mount it, then change
[fcceb000]362 options and then mount</quote>. Xfce, if compiled with HAL support,
363 <ulink url="http://bugzilla.xfce.org/show_bug.cgi?id=2891">hard-codes</ulink>
364 the mount options without any means to override them,
365 which is even worse.
366 <!-- (for BLFS editors only: they mention policy-kit as a future
367 solution, but, from the description, policy-kit looks like
[104733c]368 an XML-ized sudo-like configuration parser, which has nothing
[fcceb000]369 common with the "default mount options" problem. -->
[3496df9]370 In KDE and Xfce, if the built-in default mount options are not suitable,
371 it is needed to mention every possible removable storage device in
372 <filename>/etc/fstab</filename> with the correct options, thus mostly
373 defeating the point of installing HAL.</para>
[fd7e0ed6]374
[3496df9]375 <para>In order to adjust the default mount options, GNOME users should
376 change the
377 <systemitem>/system/storage/default_options/[fs_type]/mount_options</systemitem>
378 GConf key either using <xref linkend="gconf-editor"/>, or from the
379 command line, as demonstrated in the following example:</para>
[fcceb000]380
[3496df9]381<screen><userinput>gconftool-2 --type list --list-type=string \
382 --set /system/storage/default_options/vfat/mount_options \
383 "[shortname=mixed,uid=,usefree,iocharset=koi8-r,codepage=866]"</userinput></screen>
384
385 <para>See more details in the gnome-mount(1) manual page.</para>
386 </sect4>
387
388 <sect4><title>Adding allowed mount options</title>
389 <para>The list of mount options permitted in the default HAL
390 configuration resides in the
391 <filename>/usr/share/hal/fdi/policy/10osvendor/20-storage-methods.fdi</filename>
392 file. GNOME and KDE users may want to use options not in this
393 list (in the above example, this applies to the <option>usefree</option>
394 option). In this case, as <systemitem class="username">root</systemitem>
395 user, create a custom policy file that mentions unknown mount
396 options:</para>
[1f93d11]397
[7ea0236b]398<screen role="root"><userinput>cat &gt; /etc/hal/fdi/policy/user-options.fdi &lt;&lt; "EOF"
[d10ebccc]399<literal>&lt;?xml version="1.0" encoding="UTF-8"?&gt; &lt;!-- -*- SGML -*- --&gt;
[1f93d11]400
[d10ebccc]401&lt;!--
[1f93d11]402This file is used to set custom options to the HAL policy settings.
403The default policy settings are defined in files contained in the
[278198d]404/usr/share/hal/fdi/policy subdirectories. User defined customizations
405should be in files contained in the /etc/hal/fdi/policy directory.
[d10ebccc]406--&gt;
[1f93d11]407
408&lt;deviceinfo version="0.2"&gt;
409 &lt;device&gt;
410
[fcceb000]411 &lt;!-- this is to be able to mount media in drives we cannot poll,
412 e.g. IDE Zip Drives and PC style floppy drives --&gt;
413 &lt;match key="storage.media_check_enabled" bool="false"&gt;
414 &lt;match key="storage.no_partitions_hint" bool="true"&gt;
415 &lt;append key="volume.mount.valid_options" type="strlist"&gt;usefree&lt;/append&gt;
[3496df9]416 &lt;!-- Insert other options here --&gt;
[fcceb000]417 &lt;/match&gt;
418 &lt;/match&gt;
[1f93d11]419
[fcceb000]420 &lt;match key="volume.fsusage" string="filesystem"&gt;
[1f93d11]421
[fcceb000]422 &lt;!-- allow these mount options for vfat --&gt;
423 &lt;match key="volume.fstype" string="vfat"&gt;
424 &lt;append key="volume.mount.valid_options" type="strlist"&gt;usefree&lt;/append&gt;
[3496df9]425 &lt;!-- Insert other options here --&gt;
[fcceb000]426 &lt;/match&gt;
[1f93d11]427 &lt;/match&gt;
428
[fcceb000]429 &lt;/device&gt;
[1f93d11]430&lt;/deviceinfo&gt;</literal>
431EOF</userinput></screen>
432
[3496df9]433 </sect4>
[baf47952]434 </sect3>
435
[9eea651]436 <sect3 id="hal-init">
437 <title>Boot Script</title>
438
439 <para>To automatically start the <command>hald</command> daemon
440 when the system is rebooted, install the
441 <filename>/etc/rc.d/init.d/haldaemon</filename>
442 bootscript from the
[5254d12]443 <xref linkend="bootscripts"/> package.</para>
[9eea651]444
445 <indexterm zone="hal hal-init">
446 <primary sortas="f-haldaemon">haldaemon</primary>
447 </indexterm>
448
[3e5fad0]449 <!-- Not sure if this is still required any longer as the HAL daemon
450 used to hang if you didn't first restart the DBUS daemon. This is
451 not the case any longer, but it still seems that D-Bus should be
452 restarted, as the hald.conf file is read by the D-BUS daemon.
453 Leaving it in for now until it is positively confirmed it is not
454 required. -->
455
[1f93d11]456 <important>
[9faa2754]457 <para>If the system-wide <application>D-BUS</application> daemon was
458 running during the installation of <application>HAL</application>,
459 ensure you stop and restart the <application>D-BUS</application>
460 daemon before attempting to start the <command>hald</command>
461 daemon.</para>
[1f93d11]462 </important>
[9faa2754]463
[9eea651]464<screen role="root"><userinput>make install-haldaemon</userinput></screen>
465
466 </sect3>
467
468 </sect2>
469
470 <sect2 role="content">
471 <title>Contents</title>
472
473 <segmentedlist>
474 <segtitle>Installed Programs</segtitle>
475 <segtitle>Installed Libraries</segtitle>
476 <segtitle>Installed Directories</segtitle>
477
478 <seglistitem>
[4ea8ecd1]479 <seg>hal-device, hal-device-manager, hal-disable-polling,
[9eea651]480 hal-find-by-capability, hal-find-by-property, hal-get-property,
[d0bf291]481 hal-is-caller-locked-out, hal-lock, hal-set-property, hald and
[4ea8ecd1]482 lshal</seg>
[1039de3]483 <seg>libhal.{so,a} and libhal-storage,{so,a}</seg>
[9faa2754]484 <seg>/etc/hal, /usr/include/hal, /usr/lib/hal,
[4ea8ecd1]485 /usr/share/doc/hal-&hal-version;, /usr/share/hal, /var/cache/hald,
486 /var/lib/hal, and /var/run/hald</seg>
[9eea651]487 </seglistitem>
488 </segmentedlist>
489
490 <variablelist>
491 <bridgehead renderas="sect3">Short Descriptions</bridgehead>
492 <?dbfo list-presentation="list"?>
493 <?dbhtml list-presentation="table"?>
494
495 <varlistentry id="hal-device">
496 <term><command>hal-device</command></term>
497 <listitem>
498 <para>is used to create, remove or show a
499 <application>HAL</application> device.</para>
500 <indexterm zone="hal hal-device">
501 <primary sortas="b-hal-device">hal-device</primary>
502 </indexterm>
503 </listitem>
504 </varlistentry>
505
506 <varlistentry id="hal-device-manager">
507 <term><command>hal-device-manager</command></term>
508 <listitem>
[06be400]509 <para>shows a graphical representation of all the devices
[ce892ab3]510 <application>HAL</application> is aware of. Here is a <ulink
[1f93d11]511 url="http://cvs.freedesktop.org/*checkout*/hal/hal/doc/spec/hal-devices1.png">
512 screenshot</ulink> of <command>hal-device-manager</command>
513 communicating with the HAL daemon and displaying a tree of device
514 objects. The shown properties in the screenshot are for a device
515 object representing a hard disk.</para>
[9eea651]516 <indexterm zone="hal hal-device-manager">
517 <primary sortas="b-hal-device-manager">hal-device-manager</primary>
518 </indexterm>
519 </listitem>
520 </varlistentry>
521
[4ea8ecd1]522 <varlistentry id="hal-disable-polling">
523 <term><command>hal-disable-polling</command></term>
524 <listitem>
525 <para>can be used to to disable and enable media detection on
526 drives with removable storage.</para>
527 <indexterm zone="hal hal-disable-polling">
528 <primary sortas="b-hal-disable-polling">hal-disable-polling</primary>
529 </indexterm>
530 </listitem>
531 </varlistentry>
532
[9eea651]533 <varlistentry id="hal-find-by-capability">
534 <term><command>hal-find-by-capability</command></term>
535 <listitem>
536 <para>prints the Unique Device Identifiers for
537 <application>HAL</application> device objects of a given
538 capability.</para>
539 <indexterm zone="hal hal-find-by-capability">
[b8dba81]540 <primary sortas="b-hal-find-by-capability">hal-find-by-capability</primary>
[9eea651]541 </indexterm>
542 </listitem>
543 </varlistentry>
544
545 <varlistentry id="hal-find-by-property">
546 <term><command>hal-find-by-property</command></term>
547 <listitem>
548 <para>prints the Unique Device Identifiers for
549 <application>HAL</application> device objects where a given property
550 assumes a given value.</para>
551 <indexterm zone="hal hal-find-by-property">
552 <primary sortas="b-hal-find-by-property">hal-find-by-property</primary>
553 </indexterm>
554 </listitem>
555 </varlistentry>
556
557 <varlistentry id="hal-get-property">
558 <term><command>hal-get-property</command></term>
559 <listitem>
560 <para>retrieves a property from a device.</para>
561 <indexterm zone="hal hal-get-property">
562 <primary sortas="b-hal-get-property">hal-get-property</primary>
563 </indexterm>
564 </listitem>
565 </varlistentry>
566
567 <varlistentry id="hal-set-property">
568 <term><command>hal-set-property</command></term>
569 <listitem>
570 <para>attempts to set property for a device. Note that, due to
571 security considerations, it may not be possible to set a
572 property.</para>
573 <indexterm zone="hal hal-set-property">
574 <primary sortas="b-hal-set-property">hal-set-property</primary>
575 </indexterm>
576 </listitem>
577 </varlistentry>
578
[4ea8ecd1]579 <varlistentry id="hal-is-caller-locked-out">
580 <term><command>hal-is-caller-locked-out</command></term>
581 <listitem>
582 <para>determines if a specific caller is locked out of a specific
583 <application>D-Bus</application> interface on a specific device.</para>
584 <indexterm zone="hal hal-is-caller-locked-out">
585 <primary sortas="b-hal-is-caller-locked-out">hal-is-caller-locked-out</primary>
586 </indexterm>
587 </listitem>
588 </varlistentry>
589
[9eea651]590 <varlistentry id="hald">
591 <term><command>hald</command></term>
592 <listitem>
593 <para>is the <application>HAL</application> daemon program.</para>
594 <indexterm zone="hal hald">
595 <primary sortas="b-hald">hald</primary>
596 </indexterm>
597 </listitem>
598 </varlistentry>
599
600 <varlistentry id="lshal">
601 <term><command>lshal</command></term>
602 <listitem>
603 <para>shows all devices and their properties. If the --monitor option
604 is given then the device list and all devices are monitored for
605 changes.</para>
606 <indexterm zone="hal lshal">
607 <primary sortas="b-lshal">lshal</primary>
608 </indexterm>
609 </listitem>
610 </varlistentry>
611
612 <varlistentry id="libhal">
[1039de3]613 <term><filename class='libraryfile'>libhal.{so,a}</filename></term>
[9eea651]614 <listitem>
615 <para>contains the API functions required by the
616 <application>HAL</application> programs.</para>
617 <indexterm zone="hal libhal">
[1039de3]618 <primary sortas="c-libhal">libhal.{so,a}</primary>
[9eea651]619 </indexterm>
620 </listitem>
621 </varlistentry>
622
623 <varlistentry id="libhal-storage">
[1039de3]624 <term><filename class='libraryfile'>libhal-storage.{so,a}</filename></term>
[9eea651]625 <listitem>
626 <para>contains the API functions required by the
627 <application>HAL</application> storage and volume utility
628 programs.</para>
629 <indexterm zone="hal libhal-storage">
[1039de3]630 <primary sortas="c-libhal-storage">libhal-storage.{so,a}</primary>
[9eea651]631 </indexterm>
632 </listitem>
633 </varlistentry>
634
635 </variablelist>
636
637 </sect2>
638
639</sect1>
Note: See TracBrowser for help on using the repository browser.