sábado, 29 de noviembre de 2008

NS_ERROR_FACTORY_NOT_REGISTERED en VirtualBox OSE

Hoy he instalado VirtualBox 2.0.4 OSE (Open Source Edition) en openSUSE 11.1 RC1 (KDE4), utilizando Yast.

Una vez finalizada la instalación, deberíamos hacer dos cosas:

1.- Añadir nuestro usuario al grupo 'vboxusers', ya que sino solamente podremos ejecutar VirtualBox como usuario root.
  • Podemos hacerlo desde consola, ejecutando como root (comando su):
groupmod --add-user usuario vboxusers

sustituyendo 'usuario' por nuestro nombre de usuario.
  • O bien, desde Yast->Seguridad y usuarios->Gestión de usuarios y grupos, seleccionamos nuestro usuario, pulsamos el botón 'editar', y en la pestaña 'detalles' marcamos el grupo 'vboxusers'.

En ambos casos, debemos de reiniciar para que surta efecto la nueva configuración de usuario.

2.- Tenemos que asegurarnos que se carga el driver 'vboxdrv' al inicio.

  • Desde consola, ejecutamos como root (su):
insserv vboxdrv
  • O bien, desde Yast->Sistema->Servicios del sistema, seleccionamos 'vboxdrv', pulsamos el botón 'activar' y luego 'finalizar'.

Todos esto, con más detalle, podemos encontrarlos aquí.

Hasta este punto, los pasos normales para ejecutar VirtualBox. El problema que me he encontrado es que no arrancaba la aplicación, a no ser que la ejecutase como root. El mensaje de error que lanzaba era:

Receptor RC: NS_ERROR_FACTORY_NOT_REGISTERED (0x80040154) virtualbox

Probando a ejecutarlo desde la consola, muestra lo siguiente:

Cannot create a lock file for '/tmp/.vbox-jmunin-ipc/ipcd'.
Check permissions.

Cannot create a lock file for '/tmp/.vbox-jmunin-ipc/ipcd'.
Check permissions.

Así que el problema es que el usuario no tiene los permisos suficientes en esa ruta. Tenemos tres posibilidades para arreglar el error (optamos por una):

1.- Cambiar los permisos de esa ruta:
sudo chmod 777 /tmp/.vbox-usuario-ipc/
2.- Cambiar el propietario y/o el grupo asociado a esa ruta:
sudo chown usuario /tmp/.vbox-usuario-ipc/
o bien
sudo chown usuario:grupo-usuario /tmp/.vbox-usuario-ipc/
o bien
sudo chgrp grupo-usuario /tmp/.vbox-usuario-ipc/
3.- Más fácil todavía, directamente borramos dicha ruta:
sudo rm -r /tmp/.vbox-usuario-ipc
de lo que no hay que preocuparse, dado que la siguiente ejecución de Virtualbox volverá a crearla, con los permisos correctos.

Optéis por la alternativa que optéis, en cualquier caso, sustituyendo 'usuario' y 'grupo-usuario' por los valores reales.

Ahora probamos de nuevo a ejecutar VirtualBox con nuestro usuario, y ningún problema.


4 comentarios:

Flavio Alzueta dijo...

Muchísimas gracias! Han sido de gran ayuda tus consejos, sobre todo el último (el que está relacionado con el error NS_ERROR_FACTORY_NOT_REGISTERED) Una consulta, te ha funcionado bien ejecutandolo como un usuario común? Es de cir, no has tenido problemas en acceder a discos virtuales por ejemplo? Muchas gracias, saludos

Erik Linares dijo...

Gracias, me soluciono el problema...

matias rivara dijo...

no puedo solucionar el error que pones al ultimo

Sergio - Cepxio dijo...

Excelente, tuve el mismo problema y las indicaciones me hicieron dar cuenta que por error el /tmp tenia otro propietario y solo permisos para tal.

Gracias!