Hola,

Tambien para hacer un apagado limpio puedes ejecutar este comando, lo unico 
despues tienes es esperar que la maquina virtual termine de cerrar bien

VBoxManage -nologo controlvm NOMBRE_MAQUINA acpipowerbutton

Te dejo este script, que te puede servir de ejemplo , las maquinas las tenia 
creadas con el usuario virtualbox (lo cree para correr todo lo que sea 
virtualbox)

/etc/init.d/virtualbox-manejador.sh
====================================================================================================
#! /bin/sh

### BEGIN INIT INFO
# Provides:          virtualbox-manejador
# Required-Start:    $all
# Required-Stop:     $all
# Default-Start:     2 3 4 5
# Default-Stop:      0 1 6
# Short-Description: Virtualbox Manejador
# Description:       Script que arranca las maquinas virtuales de virtualbox
### END INIT INFO

# Author: Ricardo Marcelo Alvarez <rmalva...@gnupanel.org>
#
# Please remove the "Author" lines above and replace them
# with your own name if you copy and modify this script.

# Do NOT "set -e"

# PATH should only include /usr/* if it runs after the mountnfs.sh script
PATH=/sbin:/usr/sbin:/bin:/usr/bin
DESC="Arrancando maquinas virtuales VIRTUALBOX"
NAME=virtualbox-manejador.sh
PIDFILE=/var/run/$NAME.pid
SCRIPTNAME=/etc/init.d/virtualbox-manejador.sh

. /lib/init/vars.sh

. /lib/lsb/init-functions

. /etc/default/virtualbox-manejador

MAQUINAS=`/bin/su ${USUARIO} -c "/usr/bin/VBoxManage -nologo list vms" | 
/usr/bin/mawk '{print $1;}' | /usr/bin/sort -r `

do_start()
{
    ##subir_redes
    for maquina in ${MAQUINAS}
    do
        ARRANCAR=`/bin/su ${USUARIO} -c "/usr/bin/VBoxManage -nologo list 
runningvms" | /usr/bin/mawk '{print $1;}' | /bin/grep ${maquina} | /usr/bin/wc 
-l `
        if [ ${ARRANCAR} -eq 0 ]
        then
        
            NOMBRE=${maquina}
            /bin/echo "Arrancando maquina virtual: ${NOMBRE} "
            /bin/su ${USUARIO} -c "/usr/bin/VBoxHeadless --vrdp off --startvm 
${maquina} & " 1>/dev/null
            /bin/echo Listo
            /bin/sleep 4
        else
            /bin/echo "${maquina} ya se encontraba funcionando"
        fi
        echo ""
        /bin/su ${USUARIO} -c "/usr/bin/VBoxManage -nologo controlvm ${maquina} 
setlinkstate1 on "
        /bin/su ${USUARIO} -c "/usr/bin/VBoxManage -nologo controlvm ${maquina} 
setlinkstate2 on "
    done
    /bin/sleep 5
    /bin/echo "1" > /var/run/checkea_virtualbox
}

parar_maquinas()
{
    PARAR=0
    for maquina in ${MAQUINAS}
    do
        PARAR=`/bin/su ${USUARIO} -c "/usr/bin/VBoxManage -nologo list 
runningvms " | /bin/grep ${maquina} | /usr/bin/wc -l `
        if [ ${PARAR} -eq 1 ]
        then
            /bin/su ${USUARIO} -c "/usr/bin/VBoxManage -nologo controlvm 
${maquina} acpipowerbutton"
        fi
    done
}

parar_maquinas_prepo()
{
    PARAR=0
    for maquina in ${MAQUINAS}
    do
        PARAR=`/bin/su ${USUARIO} -c "/usr/bin/VBoxManage -nologo list 
runningvms " | /bin/grep ${maquina} | /usr/bin/wc -l `
        if [ ${PARAR} -eq 1 ]
        then
            /bin/su ${USUARIO} -c "/usr/bin/VBoxManage -nologo controlvm 
${maquina} poweroff "
        fi
    done
}

subir_redes()
{
    PARAR=0
    for maquina in ${MAQUINAS}
    do
            PLACA_RED=`/bin/su ${USUARIO} -c "/usr/bin/VBoxManage showvminfo 
${maquina} -details" | /bin/grep "NIC 1" | /usr/bin/mawk -F "\'" '{print $2;}'`
            /usr/bin/VBoxAddIF ${PLACA_RED} ${USUARIO} ${PUENTE} 1>/dev/null 
2>/dev/null
            /usr/bin/VBoxTunctl -u ${USUARIO} -g ${GRUPO} -t ${PLACA_RED} 
1>/dev/null 2>/dev/null
            #/sbin/ifconfig ${PLACA_RED} down
            #CAMBIO=${PLACA_RED}"_mac"
            #MAC_CAMBIO=${!CAMBIO}
            #/usr/bin/macchanger -m ${MAC_CAMBIO} ${PLACA_RED} 1>/dev/null 
2>/dev/null
            #/sbin/ifconfig ${PLACA_RED} up arp
            #/usr/sbin/brctl addif ${PUENTE} ${PLACA_RED}
            #/bin/echo "0" > /proc/sys/net/ipv4/ip_forward
            #/bin/echo "0" > /proc/sys/net/ipv4/conf/${PLACA_RED}/proxy_arp
    done
}

bajar_redes()
{
    PARAR=0
    for maquina in ${MAQUINAS}
    do
            PLACA_RED=`/bin/su ${USUARIO} -c "/usr/bin/VBoxManage showvminfo 
${maquina} -details" | /bin/grep "NIC 1" | /usr/bin/mawk -F "\'" '{print $2;}'`
            /usr/bin/VBoxTunctl -d ${PLACA_RED} 1>/dev/null 2>/dev/null
            /usr/bin/VBoxDeleteIF ${PLACA_RED} 1>/dev/null 2>/dev/null
    done
}

#
# Function that stops the daemon/service
#
do_stop()
{
    /bin/echo "0" > /var/run/checkea_virtualbox
    /bin/echo -n "Deteniendo las siguientes maquinas virtuales VIRTUALBOX: "

    for maquinal in ${MAQUINAS}
    do
        NOMBRE=`/bin/su ${USUARIO} -c "/usr/bin/VBoxManage -nologo showvminfo 
${maquinal} | /bin/grep Name: " | /usr/bin/mawk '{print $2;}' `
        echo -n "${NOMBRE} "
    done

    parar_maquinas
    CANTIDAD=`/bin/su ${USUARIO} -c "/usr/bin/VBoxManage -nologo list 
runningvms | /usr/bin/wc -l " `
    CONTADOR=0
    CONTADOR_PREPO=0

    while [ ${CANTIDAD} -ne 0 ]
    do
        /bin/echo -n "."

        CANTIDAD=`/bin/su ${USUARIO} -c "/usr/bin/VBoxManage -nologo list 
runningvms | /usr/bin/wc -l " `
        /bin/sleep 1

        if [ ${CONTADOR} -eq 60 ]
        then
            CONTADOR=0
            parar_maquinas
            /bin/sleep 1
        fi

        CONTADOR=$[ ${CONTADOR} + 1 ]
        
        if [ ${CONTADOR_PREPO} -eq ${MAX_STOP_TIME} ]
        then
            CONTADOR_PREPO=0
            echo ""
            echo "El tiempo de espera a superado los ${MAX_STOP_TIME} segundos, 
se forzara el apagado de las maquinas que permanezcan encendidas"
            parar_maquinas_prepo
            CANTIDAD=0
            /bin/sleep 21
        fi
        
        CONTADOR_PREPO=$[ ${CONTADOR_PREPO} + 1 ]
    done
    /bin/echo "."
    ##bajar_redes
    /bin/echo "Listo"
    /bin/sleep 2
    /bin/echo ""
}

#
# Function that sends a SIGHUP to the daemon/service
#
do_restart() {
    do_stop
    /bin/sleep 2
    do_start
}

case "$1" in
  start)
        if [ ${ACTIVADO} = "yes" ]
        then
            /etc/init.d/vboxdrv start
            /bin/sleep 21
            do_start
            /usr/local/bin/montar-gnupanel start
        else
            /bin/echo "Maquinas virtuales estan desabilitadas."
            /bin/sleep 4
        fi
        ;;
  stop)
        if [ ${ACTIVADO} = "yes" ]
        then
            /usr/local/bin/montar-gnupanel stop
            do_stop
        else
            /bin/echo "Maquinas virtuales estan desabilitadas."
            /bin/sleep 4
        fi
        ;;
  restart)
        if [ ${ACTIVADO} = "yes" ]
        then
            /bin/sleep 21
            /etc/init.d/vboxdrv start
            do_restart
        fi
        ;;
  reload)
        if [ ${ACTIVADO} = "yes" ]
        then
            do_restart
        fi
        ;;
  *)
        echo "Usage: $SCRIPTNAME {start|stop|restart|reload}" >&2
        exit 3
        ;;
esac


====================================================================================================


/etc/default/virtualbox-manejador
====================================================================================================

ACTIVADO=no
MONTAR=yes

MAX_STOP_TIME=150

USUARIO=virtualbox

GRUPO=virtualbox

PUENTE=vboxbr0

vbox0_mac=00:FF:92:ED:22:D0
vbox1_mac=00:FF:92:ED:22:D1
vbox2_mac=00:FF:92:ED:22:D2
vbox3_mac=00:FF:92:ED:22:D3
vbox4_mac=00:FF:92:ED:22:D4
vbox5_mac=00:FF:92:ED:22:D5
vbox6_mac=00:FF:92:ED:22:D6
vbox7_mac=00:FF:92:ED:22:D7
vbox8_mac=00:FF:92:ED:22:D8
vbox9_mac=00:FF:92:ED:22:D9

====================================================================================================


Saludos.


> El 9 de abril de 2010 11:55, Camaleón <noela...@gmail.com> escribió:
> 
> > El Fri, 09 Apr 2010 11:24:00 +0200, Pablo Braulio escribió:
> >
> > > Camaleón escribió:
> >
> > >> ¿Y se inicia, realmente?
> > >>
> > >>
> > > Si se inicia. Lo ejecuto en mi equipo fuera del entorno gráfico y luego
> > > en el escritorio lo puedo comprobar con la interfaz de VirtualBox.
> >
> > Se me ocurre una "chapuzilla".
> >
> > Para la VM en remoto, para que no se cierre a lo bruto e intenta
> > iniciarla de nuevo:
> >
> > VBoxManage startvm --type headless ubuntu
> >
> > Y luego, intenta detenerla.
> >
> > VBoxManage controlvm ubuntu poweroff
> >
> > A ver qué nos cuenta...
> >
> > Saludos,
> >
> > --
> > Camaleón
> >
> >
> > --
> > To UNSUBSCRIBE, email to debian-user-spanish-requ...@lists.debian.org
> > with a subject of "unsubscribe". Trouble? Contact
> > listmas...@lists.debian.org
> > Archive: http://lists.debian.org/pan.2010.04.09.09.55...@gmail.com
> >
> >
> No mencionas que VBox tienes instalado, pero hay algunas versiones que
> permiten controlar las VM por VNC/RDP.
> 
> Por otro lado para apagar el servidor, también puedes conectarte a el y
> apagar con poweroff o shutdown.
> 
> Para abrir aplicaciones en modo gráfico de forma remota usando SSH, sin
> iniciar el GDM al arranque y sin desplazarse al servidor físicamente, te
> conectas de la siguiente forma:
> 
> ssh -X -l root <IP de tu máquina>
> 
> a continuación, puedes iniciar cualquier aplicación gráfica, por ejemplo
> escribes:
> 
> synaptic
> 
> y te abre el actualizador/instalador de paquetes.
> 
> Un saludo a todos/as.
> Javier Silva.


-- 
Ricardo Marcelo Alvarez desarrollador de GNUPanel
Panel de control de hosting GPL para debian
GPL hosting control panel for Debian
http://www.gnupanel.org
__________________________________________________
Correo Yahoo!
Espacio para todos tus mensajes, antivirus y antispam ¡gratis!
¡Abrí tu cuenta ya! - http://correo.yahoo.com.ar


--
To UNSUBSCRIBE, email to debian-user-spanish-requ...@lists.debian.org
with a subject of "unsubscribe". Trouble? Contact listmas...@lists.debian.org
Archive: http://lists.debian.org/20100409092108.4b520...@california

Responder a