Interfaz GTK para VirtualBox
Sebastian Abate
sebastianabate en gmail.com
Mie Ago 13 03:10:19 BST 2008
2008/8/12 DaniFP <danubuntu en yahoo.es>:
> Eso del VBoxManage me ha llamado la atención; ¿con él podrías controlar el
> funcionamiento y parámetros de la máquina virtual por medio de la línea de
> órdenes?
>
>
> Otro que se apunta a la moda de los blogs: http://danubuntu.wordpress.com
> -----------------------------------------
> Cada vez que compras un disco, lo copias. Por favor, no compres discos.
> CAMPAÑA DE LUCHA CONTRA LA PIRATERÍA
>
> --- El lun, 11/8/08, Jonathan Chacón <tyflos2001 en gmail.com> escribió:
>
> De: Jonathan Chacón <tyflos2001 en gmail.com>
> Asunto: Re: Interfaz GTK para VirtualBox
> Para: "Pedro Gauna" <lapega en gmail.com>
> CC: ubuntu-es en lists.ubuntu.com
> Fecha: lunes, 11 agosto, 2008 3:17
>
> El lun, 11-08-2008 a las 09:14 -0300, Pedro Gauna escribió:
>
>
>> Yo hace tiempo que utilizo uno llamado 'vbox-gtk', ahora no
> recuerdo de
>> dónde lo bajé,
>> pero Google es tu amigo, ;)
>
> Muchas gracias por la información :-)
>
> de todas formas, por si a alguien le interesa, se puede arrancar una
> máquina virtual sin necesidad de usar el interfaz QT de virtualbox
> usando VBoxManage:
>
> VBoxManage startvm "NombreDeLaMaquinaVirtual"
>
> por si a
> alguien le sirve :-)
>
> buscaré el vbox-gtk...
>
> Saludos
> Jonathan Chacón
>
>
> ________________________________
> Enviado desde Correo Yahoo!
> La bandeja de entrada más inteligente.
>
> --
> ubuntu-es mailing list
> ubuntu-es en lists.ubuntu.com
> https://lists.ubuntu.com/mailman/listinfo/ubuntu-es
>
Es exactamente para lo que sirve. Yo administro un par de servidores
con Ubuntu Server 6.06 y 8.04 (sin Gnome o KDE) en los que por uno u
otro motivo tengo que utilizar VirtualBox; entonces instalo el paquete
de VB con sus dependencias (que lamentablemente son varias, como
librerías QT y otras yerbas, pero no necesita un Entorno Gráfico) y
después creo y administro las VM con VBoxManage habilitándoles el
soporte RDP (sólo disponible en la versión Binaria, no la OSE).
De esta forma puedo tener un Headless Server con VM's VirtualBox 100%
funcional a las que accedo con cualquier cliente RDP.
TIP: para arrancar y detener las VM's al startup y al shutdown utilizo
este script en /etc/init.d/vbox-nombrevm (un script por cada VM):
#! /bin/sh
### BEGIN INIT INFO
# Provides: VirtualBox - nombrevm
# Required-Start: $local_fs $remote_fs
# Required-Stop: $local_fs $remote_fs
# Default-Start: 2 3 4 5
# Default-Stop: S 0 1 6
# Short-Description: Handles the XP-Radio virtual machine
# Description: This file should be used to construct scripts to be
# placed in /etc/init.d.
### END INIT INFO
# Author: Ross Peoples <ubuntu.ross.peoples en gmail.com>
# Do NOT "set -e"
# PATH should only include /usr/* if it runs after the mountnfs.sh script
PATH=/usr/sbin:/usr/bin:/sbin:/bin
#
# CHANGE THESE AS NEEDED
#
# Name given to the virtual machine
VM_NAME="nombrevm"
# Name of this file, excluding /etc/init.d/
THIS_FILE=vbox-nombrevm
# Username to run as
RUNAS_USERNAME=usuario-que-creo-la-vm
#
# END CHANGE THESE AS NEEDED
#
DESC="VirtualBox - ${VM_NAME}"
DAEMON=/usr/bin/VBoxHeadless
DAEMON_ARGS="-startvm \"${VM_NAME}\""
PIDFILE=/var/run/$THIS_FILE.pid
SCRIPTNAME=/etc/init.d/$THIS_FILE
# Exit if the package is not installed
[ -x "$DAEMON" ] || exit 0
# Read configuration variable file if it is present
[ -r /etc/default/$THIS_FILE ] && . /etc/default/$THIS_FILE
# Load the VERBOSE setting and other rcS variables
[ -f /etc/default/rcS ] && . /etc/default/rcS
# Define LSB log_* functions.
# Depend on lsb-base (>= 3.0-6) to ensure that this file is present.
. /lib/lsb/init-functions
#
# Function that starts the daemon/service
#
do_start()
{
# Return
# 0 if daemon has been started
# 1 if daemon was already running
# 2 if daemon could not be started
#start-stop-daemon --start --quiet --pidfile $PIDFILE --exec
$DAEMON --test > /dev/null \
#|| return 1
#start-stop-daemon --start --quiet --pidfile $PIDFILE --exec
$DAEMON -- \
#$DAEMON_ARGS \
#|| return 2
# Add code here, if necessary, that waits for the process to be ready
# to handle requests from services started subsequently which depend
# on this one. As a last resort, sleep for some time.
su $RUNAS_USERNAME -c "VBoxHeadless -startvm ${VM_NAME}" &
}
#
# Function that stops the daemon/service
#
do_stop()
{
# Return
# 0 if daemon has been stopped
# 1 if daemon was already stopped
# 2 if daemon could not be stopped
# other if a failure occurred
start-stop-daemon --stop --quiet --retry=TERM/30/KILL/5
--pidfile $PIDFILE --name $THIS_FILE
RETVAL="$?"
[ "$RETVAL" = 2 ] && return 2
# Wait for children to finish too if this is a daemon that forks
# and if the daemon is only ever run from this initscript.
# If the above conditions are not satisfied then add some other code
# that waits for the process to drop all resources that could be
# needed by services started subsequently. A last resort is to
# sleep for some time.
su $RUNAS_USERNAME -c "VBoxManage controlvm ${VM_NAME}
savestate && sleep 10"
start-stop-daemon --stop --quiet --oknodo --retry=0/30/KILL/5
--exec $DAEMON
[ "$?" = 2 ] && return 2
# Many daemons don't delete their pidfiles when they exit.
rm -f $PIDFILE
return "$RETVAL"
}
#
# Function that sends a SIGHUP to the daemon/service
#
do_reload() {
#
# If the daemon can reload its configuration without
# restarting (for example, when it is sent a SIGHUP),
# then implement that here.
#
# start-stop-daemon --stop --signal 1 --quiet --pidfile
$PIDFILE --name $NAME
echo "Reload not supported"
return 0
}
case "$1" in
start)
[ "$VERBOSE" != no ] && log_daemon_msg "Starting $DESC" "$THIS_FILE"
do_start
case "$?" in
0|1) [ "$VERBOSE" != no ] && log_end_msg 0 ;;
2) [ "$VERBOSE" != no ] && log_end_msg 1 ;;
esac
;;
stop)
[ "$VERBOSE" != no ] && log_daemon_msg "Stopping $DESC" "$THIS_FILE"
do_stop
case "$?" in
0|1) [ "$VERBOSE" != no ] && log_end_msg 0 ;;
2) [ "$VERBOSE" != no ] && log_end_msg 1 ;;
esac
;;
#reload|force-reload)
#
# If do_reload() is not implemented then leave this commented out
# and leave 'force-reload' as an alias for 'restart'.
#
#log_daemon_msg "Reloading $DESC" "$NAME"
#do_reload
#log_end_msg $?
#;;
*)
#echo "Usage: $SCRIPTNAME {start|stop|restart|reload|force-reload}" >&2
echo "Usage: $SCRIPTNAME {start|stop}" >&2
exit 3
;;
esac
:
--------------------------------------------------------------
Lo único que hay que cambiar en el script es:
# Name given to the virtual machine
VM_NAME= ##Nombre que se le dio a la VM
# Name of this file, excluding /etc/init.d/
THIS_FILE= ##Nombre del script
# Username to run as
RUNAS_USERNAME= ##Usuario con el que se creo la VM
Aclaro que este Script no es mio, pero lamentablemente no recuerdo en
dónde lo encontré; pero de lo que sí puedo dar fe es de que funciona
perfectamente.
--
Sebastián Abate
Quattro-D
15-3589-7730
abates en quattrod.com.ar
Más información sobre la lista de distribución ubuntu-es