source: general/sysutils/hal.xml@ 6c3d95f9

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 6c3d95f9 was 6c3d95f9, checked in by Randy McMurchy <randy@…>, 14 years ago

Updated to HAL-0.5.14

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

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