[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: ¿Como hacer un script de arranque de VirtualBox?



O Martes 04 Novembro 2008 18:00, Roberto Leon Lopez escribiu:
> Quiero que al iniciar el servidor me cargue unos cuantos guest, el caso es
> que estoy jugando a hacer un script que ejecute el comando:
>
> sudo -u vboxuser VBoxHeadLess -startvm DebianLenny
>
> En este caso no obtengo errores y ademas parece lanzar el Virtualbox porque
> la salida que muestra en consola son los típicos mensajes de copyright. Con
> otros servicios me ha funcionado el sudo -u, esto lanza el virtualbox bajo
> el usuario vboxuser, y no hay manera, también he probado con:
>
> sudo -u vboxuser VirtualBox startvm DebianLenny
>
> que me imagino que hace lo mismo. En este segundo caso obtengo el error:
>
> Qt WARNING: VirtualBox: cannot connect to X server
>
> Saludos.

Hola,
para lo que quieres tienes que usar el VBoxHeadless, de otro modo intentará 
abrir una ventana y fallará. Sobra decir que de este modo sólo podrás acceder 
a los guest de forma remota. Si son linux,asegúrate de activar un ssh, y en 
caso de ser windows puedes probar con un remote desktop. Debes recordar 
también redireccionar puertos de la máquina real a los guest, para poder usar 
estos servicios.
Una vez lanzada la máquina virtual con VBoxHeadless puedes controlarla con 
VBoxManage. Ejecútalo sin parámetros para ver una lista de las opciones que 
tienes. Básicamente puedes hacer todo lo que puedes hacer con la interfaz 
gráfica, pero para lo que quieres te interesará sobre todo las opciones: 
# VBoxManage controlvm nombre-maquina savestate
o
# VBoxManage controlvm nombre-maquina acpipowerbutton

para apagar la máquina en la sección stop de tu script.

Para iniciarla yo uso:
# start-stop-daemon -b --start --user 
people -x /usr/bin/VBoxHeadless -a /bin/su -- people -c "VBoxHeadless -s 
nombre-maquina" 

(todo en la misma linea)
Uso start-stop-daemon porque VBoxHeadless no se queda por sí solo ejecutando 
en segundo plano. La opción "-x /usr/bin/VBoxHeadless" evitará que se 
ejecuten varias máquinas virtuales (una segunda llamada a este comando será 
ignorado). Si quieres tener varias imagino que con quitar esa opción bastará 
(no lo he probado).

Por último, si quieres hacer un buen script de inicio, deberias basarte 
en /etc/init.d/skeleton

Espero haber ayudado,
suerte.


Reply to: