Hits :
3160
Hal & Devices
Όταν ήθελες να προσαρτήσεις μία συσκευή (κάποτε) έπρεπε να επεξεργαστείς το fstab κατάλληλα.
Αυτό γινόταν είτε με το χέρι, είτε μέσω ενός gui interface.
Μάλιστα όταν έπρεπε να συνδέσεις μία usb συσκευή έπρεπε να την βρεις πρώτα.
Πλέον με το hal & το dbus γίνονται όλα αυτόματα, αρκεί να ακολουθήσεις όμως κάποιους κανόνες.
Για αρχή χρειάζεται να ρίξουμε μια ματιά στα παρακάτω links:
HAL[link1]
PolicyKit[link2]
top
PolicyKit
Από το 1ο link βλέπουμε ότι μπορούμε να ορίσουμε την πολιτική για τους χρήστες μας.
Αυτό γίνεται στο εξής αρχείο:
/etc/PolicyKit/PolicyKit.conf
Για παράδειγμα το δικό μου
PolicyKit.conf είναι το εξής:
Formatter "highlight/html" not found
ΠΡΟΣΟΧΗ: Το δικό μου 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
top
Dbus
Τι γίνεται όταν ΔΕΝ υπάρχει το policy-kit στον υπολογιστή μας.
Πολύ απλά πρέπει να κάνουμε τις αλλαγές απευθείας στο dbus
/etc/dbus-1/system.d/hal.conf
Για τον δικό μου χρήστη:
ebal
<policy user="ebal">
<allow send_destination="org.freedesktop.Hal"
send_interface="org.freedesktop.Hal.Device.Volume"/>
<allow send_destination="org.freedesktop.Hal"
send_interface="org.freedesktop.Hal.Device.SystemPowerManagement"/>
</policy>
Φυσικά όταν ολοκληρώσουμε όλα τα παραπάνω χρειάζεται να επανεκιννήσουμε το dbus & hal
/etc/rc.d/dbus restart
/etc/rc.d/hal restart
[link2] https://wiki.debian.org/PolicyKit