jueves, 4 de octubre de 2007

Problemas con hald en gentoo@amd64

Desde hace tiempo y con un maravilloso emerge -va world me dejo de funcionar el hal, el problema que me escupia en el /var/log/messages era el siguiente :

[E] hald_dbus.c:5086: dbus_bus_get(): Failed to connect to socket /usr/local/var/run/dbus/system_bus_socket: No such file or directory

...y al poco tiempo despues...

[E] hald_dbus.c:5086: dbus_bus_get(): Failed to connect to socket /usr/local/var/run/dbus/system_bus_socket: Connection refused

Buscando por internet encontre la forma de solucionar este "bug" que solo me ocurre para amd64 ya que en x86 parece correr dpm. Hacer un link desde /var/run/dbus/system_bus_socket a /usr/local/var/run/dbus/system_bus_socket

ln -s /usr/local/var/run/dbus/system_bus_socket /var/run/dbus/system_bus_socket

Con esto ya parece funcionar de nuevo.... pues no, me reconoce nuevos dispositivos pero no me los monta debido a problemas de permisos. Inicio una session como root y efectivamente, funciona dpm

Despues de dar permisos a distintos grupos a mi usuario sin ningun resultado, borre los mismos y volvi a buscar de nuevo en internet. Un chavalin con fedora explicaba como dar permisos a un usuario para el tema de auto-montaje con hal y era editando el archivo /etc/dbus-1/system.d/hal.conf

En este mismo hay un apartado para los permisos de root (id = 0)

  <!-- You can change this to a more suitable user, or make per-group -->
  <policy user="0">
    <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>


Y tal como comenta el mismo se pueden dar permisos por grupo o por usuario, como yo solo tengo un usuario :P lo hice por usuario (si solo tienes un usuario o usas el primer usuario que creaste tu id sera 1000), añadiendo este codigo que sigue justo despues de lo anterior ya damos permisos a nuestro usuario 1000

  <!-- usuario X -->
  <policy user="1000">
    <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>


Reiniciamos hald y ya se monta todo automaticamente :D

Salud3!

No hay comentarios:

Seguidores