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 contribLuego 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 updateDespué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 PackDescarga 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 vboxusersVirtualBox 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 --helppara 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 onAhora 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.xml3.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" poweroffPara pausar una VM, ejecuta
VBoxManage controlvm "Ubuntu 16.04 Server" pausePara reiniciar una VM, ejecuta
VBoxManage controlvm "Ubuntu 16.04 Server" resetPara aprender más sobre VBoxHeadless, echa un vistazo a
VBoxHeadless --helpy 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!):

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

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-rdpSolo 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:

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:

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

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
- VirtualBox: http://www.virtualbox.org/
- Ubuntu: http://www.ubuntu.com/
Recibe nuevas publicaciones en tu bandeja de entrada.
No spam. Cancela la suscripción en cualquier momento.