source: general/sysutils/hal.xml@ 104733c

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 104733c was 104733c, checked in by Ken Moffat <ken@…>, 15 years ago

Fix typos (patch from Guy Dalziel).

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

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