Hal & Devices
Όταν ήθελες να προσαρτήσεις μία συσκευή (κάποτε) έπρεπε να επεξεργαστείς το fstab κατάλληλα.
Αυτό γινόταν είτε με το χέρι, είτε μέσω ενός gui interface.
Μάλιστα όταν έπρεπε να συνδέσεις μία usb συσκευή έπρεπε να την βρεις πρώτα.
Πλέον με το hal & το dbus γίνονται όλα αυτόματα, αρκεί να ακολουθήσεις όμως κάποιους κανόνες.
Για αρχή χρειάζεται να ρίξουμε μια ματιά στα παρακάτω links:
Από το 1ο link βλέπουμε ότι μπορούμε να ορίσουμε την πολιτική για τους χρήστες μας.
Αυτό γίνεται στο εξής αρχείο:
/etc/PolicyKit/PolicyKit.conf
Για παράδειγμα το δικό μου PolicyKit.conf είναι το εξής:
<?xml version="1.0" encoding="UTF-8"?> <!-- -*- XML -*- -->
<!DOCTYPE pkconfig PUBLIC "-//freedesktop//DTD PolicyKit Configuration 1.0//EN"
"http://hal.freedesktop.org/releases/PolicyKit/1.0/config.dtd">
<config version="0.1">
<match user="ebal">
<match action="org.freedesktop.hal.storage.*">
<return result="yes"/>
</match>
<match action="hal-storage-mount-fixed-extra-options">
<return result="yes" />
</match>
<match action="hal-storage-mount-removable-extra-options">
<return result="yes" />
</match>
<match action="org.freedesktop.hal.power-management.*">
<return result="yes"/>
</match>
</match>
</config>
ΠΡΟΣΟΧΗ: Το δικό μου username είναι ebal, στο δικό σας παράδειγμα μπορεί να είναι κάτι άλλο.
Στο παραπάνω παράδειγμα υπάρχουν οι εξής δηλώσεις:
<match action=”org.freedesktop.hal.storage.*”>
<return result=”yes”/>
</match>
και
<match action=”org.freedesktop.hal.power-management.*”>
<return result=”yes”/>
</match>
Το πρώτο παράδειγμα επιτρέπει οποιαδήποτε ενέργεια σε ότι αφορά τους δίσκους (storage),
ενώ το δεύτερο παράδειγμα επιτρέπει οποιαδήποτε ενέργεια έχει να κάνει με την διαχείριση
του ρεύματος (π.χ. reboot ή shutdown)
Χρειάζεται να επιβεβαιώσουμε την ακεραιότητα του αρχείου, οπότε χρειάζεται να πληκτρολογήσουμε την εξής εντολή:
polkit-config-file-validate
Χρήσιμες και ενδιαφέρουσες πληροφορίες για τις συσκευές μας μπορούμε να δούμε με την εξής εντολή:
lshal
Φυσικά όταν ολοκληρώσουμε όλα τα παραπάνω χρειάζεται να επανεκιννήσουμε το dbus & hal
/etc/rc.d/dbus restart
/etc/rc.d/hal restart