viernes, mayo 22, 2015

Ejecutar en segundo plano Maquinas Virtuales VirtualBox al arrancar sistema Linux

Tengo 2 maquinas virtuales windows en las que estoy desarrollando unas modificaciones.  El acceso a las VMs es solo para tener el servicio de SQL Server y IIS.

Como me resulta tedioso abrir VirtualBox y despues encender las VMs manualmente y ademas tener ahí las pantallas de las maquinas sin usar, ocupando espacion en mi monitor.

He encontrado en http://askubuntu.com/questions/57220/start-vboxheadless-vm-at-startup la manera de cargar en automatico las VMs de VirtualBox al iniciar el sistema.

Paso 1: Crear archivo dentro de /etc/init.d

sudo vim /etc/init.d/StartVM

Paso 2: Pegar el siguiente código, adecuar segun tus necesidades. 


#! /bin/sh
# /etc/init.d/VM
#
#Edit these variables!
VMUSER=pixelead0
case "$1" in
  start)
    echo "Starting VirtualBox VM DevSQLServer ..."
    sudo -u $VMUSER VBoxManage startvm DevSQLServer --type headless
    echo "Starting VirtualBox VM DevIIS ..."
    sudo -u $VMUSER VBoxManage startvm DevIIS --type headless
    ;;
  stop)
    echo "Saving state of Virtualbox VM DevSQLServer ..."
    sudo -u $VMUSER VBoxManage controlvm DevSQLServer savestate
    echo "Saving state of Virtualbox VM DevIIS ..."
    sudo -u $VMUSER VBoxManage controlvm DevIIS savestate
    ;;
  *)
    echo "Usage: /etc/init.d/VM {start|stop}"
    exit 1
    ;;
esac

exit 0

Paso 3: Dar permiso de ejecución al script

 sudo chmod +x /etc/init.d/StartVM

Paso 4: Agregar script en el arranque del sistema.

 sudo update-rc.d StartVM defaults 99 01


Con esos 4 pasos tendremos levantadas la maquinas virtuales en segundo plano. Si por alguna razón requieres tener acceso a ellas, habilita el acceso remoto y utiliza rdesktop.

#! /bin/sh
rdesktop -u dev -p{PASSWORD} -K -T{nombreVentana} {HOST}  -g 1280x800 -r disk:share={~/Escritorio}


Happy Coding!

.