Resolvendo o Problema do HAL no Arch Linux

É pessoal, agora estou com dual-boot entre Arch e Slackware-current, e no arch, os dispositivos não montavam, ele não desligava nem suspendia pelos menus. Resolvi da seguinte forma:
primeiro, adicione seu usuário ao grupo do hal:
# gpasswd -a SEU_USUARIO hal
ou, caso queira aproveitar e adicionar seu usuário à todos os grupos de uma vez, rode assim:
# for a in `cat /etc/groups | cut -f1 -d’:'`; do gpasswd -a SEU_USUARIO $a ; done ;
beleza.
crie um backup do arquivo:
# cp /etc/dbus-1/system.d/hal.conf /etc/dbus-1/system.d/hal.conf.backup
agora edite-o ( /etc/dbus-1/system.d/hal.conf )
<!DOCTYPE busconfig PUBLIC
“-//freedesktop//DTD D-BUS Bus Configuration 1.0//EN”
“http://www.freedesktop.org/standards/dbus/1.0/busconfig.dtd”>
<busconfig><!– This configuration file specifies the required security policies
for the HAL to work. –><!– Only root or user hal can own the HAL service –>
<policy user=”hal”>
<allow own=”org.freedesktop.Hal”/>
</policy>
<policy user=”root”>
<allow own=”org.freedesktop.Hal”/>
</policy><!– Allow anyone to invoke methods on the Manager and Device interfaces –>
<policy context=”default”>
<allow send_interface=”org.freedesktop.Hal.Manager”/>
<allow send_interface=”org.freedesktop.Hal.Device”/>
<allow receive_interface=”org.freedesktop.Hal.Manager”
receive_sender=”org.freedesktop.Hal”/>
<allow receive_interface=”org.freedesktop.Hal.Device”
receive_sender=”org.freedesktop.Hal”/><allow send_interface=”org.freedesktop.Hal.Device.SystemPowerManagement”/>
<allow send_interface=”org.freedesktop.Hal.Device.LaptopPanel”/>
<allow send_interface=”org.freedesktop.Hal.Device.Volume”/>
<allow send_interface=”org.freedesktop.Hal.Device.Volume.Crypto”/>
<allow receive_interface=”org.freedesktop.Hal.Device.SystemPowerManagement”
receive_sender=”org.freedesktop.Hal”/>
<allow receive_interface=”org.freedesktop.Hal.Device.LaptopPanel”
receive_sender=”org.freedesktop.Hal”/>
<allow receive_interface=”org.freedesktop.Hal.Device.Volume”
receive_sender=”org.freedesktop.Hal”/>
<allow receive_interface=”org.freedesktop.Hal.Device.Volume.Crypto”
receive_sender=”org.freedesktop.Hal”/>
</policy><!– Default policy for the exported interfaces; if PolicyKit is not used
for access control you will need to modify this –>
<policy context=”default”>
<allow send_interface=”org.freedesktop.Hal.Device.SystemPowerManagement”/>
<allow send_interface=”org.freedesktop.Hal.Device.VideoAdapterPM”/>
<allow send_interface=”org.freedesktop.Hal.Device.LaptopPanel”/>
<allow send_interface=”org.freedesktop.Hal.Device.Volume”/>
<allow send_interface=”org.freedesktop.Hal.Device.Volume.Crypto”/>
</policy><policy group=”power”>
<allow send_interface=”org.freedesktop.Hal.Device.SystemPowerManagement”/>
<allow send_interface=”org.freedesktop.Hal.Device.LaptopPanel”/>
</policy><policy group=”storage”>
<allow send_interface=”org.freedesktop.Hal.Device.Volume”/>
<allow send_interface=”org.freedesktop.Hal.Device.Volume.Crypto”/>
</policy></busconfig>
agora o mesmo com o /etc/PolicyKit/PolicyKit.conf:
# cp /etc/PolicyKit/PolicyKit.conf /etc/PolicyKit/PolicyKit.conf.backup
<?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”><!– See the manual page PolicyKit.conf(5) for file format –>
<config version=”0.1″>
<match action=”org.freedesktop.hal.storage.mount-removable”>
<return result=”yes” />
</match>
<match action=”org.freedesktop.hal.storage.eject-removable”>
<return result=”yes” />
</match>
<match action=”org.freedesktop.hal.storage.mount-fixed”>
<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>
</config>
agora reinicie o hal:
# /etc/rc.d/hal restart
Deve estar tudo OK.
Que a força esteja com vocês. HAHA
[]’s


