Virtualización · 5 min read · Dec 07, 2025

VBoxHeadless - Ejecutando Máquinas Virtuales con VirtualBox 5.1 en un Servidor Ubuntu 16.04 LTS sin Interfaz Gráfica

Esta guía explica cómo puedes ejecutar máquinas virtuales con VirtualBox 5.1 en un servidor Ubuntu 16.04 sin interfaz gráfica. Normalmente, usas la GUI de VirtualBox para gestionar tus máquinas virtuales, pero un servidor no tiene un entorno de escritorio. Afortunadamente, VirtualBox viene con una herramienta llamada VBoxHeadless que te permite conectarte a las máquinas virtuales a través de una conexión de escritorio remoto, por lo que no hay necesidad de la GUI de VirtualBox.

1 Nota Preliminar

He probado esto en un servidor Ubuntu 16.04 (sistema anfitrión) con la dirección IP 192.168.1.100 donde estoy conectado como un usuario normal (nombre de usuario administrador en este ejemplo) en lugar de como root.

2 Instalando VirtualBox

Para instalar VirtualBox 5.1 en nuestro servidor Ubuntu 16.04, abrimos /etc/apt/sources.list…

sudo nano /etc/apt/sources.list

… y agregamos la siguiente línea:

deb http://download.virtualbox.org/virtualbox/debian xenial contrib

Luego descargamos la clave pública de VirtualBox…

wget -q https://www.virtualbox.org/download/oracle_vbox_2016.asc -O- | sudo apt-key add -

… y actualizamos nuestra base de datos de paquetes:

sudo apt-get update

Después, instalamos VirtualBox 5.1 de la siguiente manera:

sudo apt-get install linux-headers-$(uname -r) build-essential virtualbox-5.1 dkms

(El paquete dkms asegura que los módulos del kernel del anfitrión de VirtualBox se actualicen correctamente si la versión del kernel de Linux cambia.)

A partir de la versión 4.0, VirtualBox ha introducido lo que se llaman “paquetes de extensión” y ha externalizado algunas funcionalidades como el soporte de conexión de escritorio remoto (VRDP) que formaba parte de los paquetes de VirtualBox antes de la versión 4.0 en estos paquetes de extensión. Debido a que necesitamos conexiones de escritorio remoto para controlar nuestras máquinas virtuales, necesitamos instalar el paquete de extensión apropiado ahora. Ve a http://www.virtualbox.org/wiki/Downloads, y encontrarás un enlace al siguiente paquete de extensión:

VirtualBox 5.1 Oracle VM VirtualBox Extension Pack

Descarga e instala el paquete de extensión de la siguiente manera:

cd /tmp  
wget http://download.virtualbox.org/virtualbox/5.1.0/Oracle_VM_VirtualBox_Extension_Pack-5.1.0-108711.vbox-extpack  
sudo VBoxManage extpack install Oracle_VM_VirtualBox_Extension_Pack-5.1.0-108711.vbox-extpack

(Asegúrate de obtener la última versión del sitio web de VirtualBox y de usar sudo para instalar el archivo extpack con VBoxManage.)

Ahora debemos agregar al usuario que ejecutará VirtualBox (administrador en este ejemplo) al grupo vboxusers:

sudo adduser administrator vboxusers

VirtualBox ahora está instalado y listo para ser utilizado.

3 Usando VirtualBox en la Línea de Comandos

3.1 Creando una VM

Para crear una VM en la línea de comandos, podemos usar el comando VBoxManage. Consulta

VBoxManage --help

para una lista de opciones disponibles y (¡muy recomendado!) echa un vistazo a http://www.virtualbox.org/manual/ch08.html.

Ahora crearé una VM de Ubuntu 16.04 Server con 2048MB de memoria y un disco duro de 10GB a partir de la imagen iso de Ubuntu 16.04 Server (que he almacenado en /home/administrator/iso/ubuntu-16.04-server-amd64.iso):

VBoxManage createvm --name "Ubuntu 16.04 Server" --register  
VBoxManage modifyvm "Ubuntu 16.04 Server" --memory 2048 --acpi on --boot1 dvd --nic1 bridged --bridgeadapter1 ens33  
VBoxManage createhd --filename /home/administrator/Ubuntu_16_04_Server.vdi --size 10000  
VBoxManage storagectl "Ubuntu 16.04 Server" --name "IDE Controller" --add ide  
VBoxManage storageattach "Ubuntu 16.04 Server" --storagectl "IDE Controller" --port 0 --device 0 --type hdd --medium /home/administrator/Ubuntu_16_04_Server.vdi  
VBoxManage storageattach "Ubuntu 16.04 Server" --storagectl "IDE Controller" --port 1 --device 0 --type dvddrive --medium /home/administrator/iso/ubuntu-16.04-server-amd64.iso  
VBoxManage modifyvm "Ubuntu 16.04 Server" --vrde on

Ahora procede con el capítulo 3.3 para iniciar la vm y luego conectarte a la VM con un cliente de escritorio remoto como se describe en el capítulo 4.

3.2 Importando una VM Existente

Supongamos que tienes una VM llamada examplevm que deseas reutilizar en este anfitrión. En el antiguo anfitrión, deberías tener un directorio Machines/examplevm en el directorio de VirtualBox; Machines/examplevm debería contener el archivo examplevm.xml. Copia el directorio examplevm (incluyendo el archivo examplevm.xml) a tu nuevo directorio Machines (si tu nombre de usuario es administrador, este es /home/administrator/.VirtualBox/Machines - el resultado debería ser /home/administrator/.VirtualBox/Machines/examplevm/examplevm.xml).

Además de eso, copia el archivo examplevm.vdi del antiguo directorio VDI al nuevo (por ejemplo, /home/administrator/.VirtualBox/VDI/examplevm.vdi).

Después, debes registrar la VM importada:

VBoxManage registervm Machines/examplevm/examplevm.xml

3.3 Iniciando una VM con VBoxHeadless

Independientemente de si creas una nueva VM o importas una antigua, puedes iniciarla con el comando:

VBoxHeadless --startvm "Ubuntu 16.04 Server"

(Reemplaza Ubuntu 16.04 Server con el nombre de tu VM.)

VBoxHeadless iniciará la VM y un servidor VRDP (Protocolo de Escritorio Remoto de VirtualBox) que te permite ver la salida de la VM de forma remota en otra máquina.

Para detener una VM, ejecuta

VBoxManage controlvm "Ubuntu 16.04 Server" poweroff

Para pausar una VM, ejecuta

VBoxManage controlvm "Ubuntu 16.04 Server" pause

Para reiniciar una VM, ejecuta

VBoxManage controlvm "Ubuntu 16.04 Server" reset

Para aprender más sobre VBoxHeadless, echa un vistazo a

VBoxHeadless --help

y a http://www.virtualbox.org/manual/ch07.html#vboxheadless.

4 Conectándose a una VM desde un Escritorio Remoto

4.1 Windows

Puedes usar la utilidad de Conexión de Escritorio Remoto integrada para conectarte a la VM.

Escribe el nombre del host o la dirección IP del anfitrión (¡no del invitado!):

Inicio de sesión en Windows RDP

Y voilà, deberías estar conectado a la VM:

La máquina virtual Ubuntu a través de RDP

4.2 Escritorio Ubuntu

En los escritorios de Ubuntu, puedes usar el Cliente de Escritorio Remoto Remmina o gnome-rdp para conectarte a la VM.

Instala el cliente con apt:

sudo apt-get install remmina remmina-plugin-rdp

Solo busca remmina y luego haz doble clic en el icono del Cliente Remmina para iniciar la aplicación RDP.

En el Cliente de Escritorio Remoto Remmina, haz clic en el icono de más para agregar una nueva conexión de escritorio remoto:

Remmina iniciado.

En la ventana de Preferencias de Escritorio Remoto, completa un nombre para el perfil (como Ubuntu 16.04 Server), asegúrate de que RDP esté seleccionado como el protocolo (debería estar seleccionado por defecto), luego completa la dirección IP del anfitrión - ¡no la IP del invitado de VirtualBox! - en el campo Servidor, y selecciona una profundidad de color más alta que la predeterminada de 8bpp - 16bpp está bien. Luego haz clic en Conectar:

Detalles de inicio de sesión de Remmina.

Y voilà, deberías estar conectado a la VM:

VM de Ubuntu a través de Remmina RDP.

4.3 Si la Conexión de Escritorio Remoto no Funciona…

Si la conexión de escritorio remoto no funciona, probablemente te hayas perdido el paso donde instalo el paquete de extensión de VirtualBox en el capítulo 2. Por favor, instala el paquete de extensión ahora, detén tu máquina virtual (consulta el capítulo 3.3), y modifica tu máquina virtual para aceptar conexiones de escritorio remoto:

VBoxManage modifyvm "Ubuntu 16.04 Server" --vrde on

(Si el paquete de extensión ya está instalado cuando creas tu máquina virtual, las conexiones de escritorio remoto se habilitan automáticamente.)

Luego inicia tu máquina virtual nuevamente.

5 Enlaces

Share: X/Twitter LinkedIn

Recibe nuevas publicaciones en tu bandeja de entrada.

No spam. Cancela la suscripción en cualquier momento.