source: general/sysutils/hal.xml@ fc516d9

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 fc516d9 was fc516d9, checked in by Wayne Blaszczyk <wblaszcz@…>, 15 years ago

Fixed GDM greeter shutdown problem.

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

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