VirtualBox · 5 min read · Dec 07, 2025

VBoxHeadless - Esecuzione di macchine virtuali con VirtualBox 5.1 su un server headless Ubuntu 16.04 LTS

Questa guida spiega come eseguire macchine virtuali con VirtualBox 5.1 su un server headless Ubuntu 16.04. Normalmente si utilizza l’interfaccia grafica di VirtualBox per gestire le macchine virtuali, ma un server non ha un ambiente desktop. Fortunatamente, VirtualBox viene fornito con uno strumento chiamato VBoxHeadless che consente di connettersi alle macchine virtuali tramite una connessione desktop remota, quindi non c’è bisogno dell’interfaccia grafica di VirtualBox.

1 Nota preliminare

Ho testato questo su un server Ubuntu 16.04 (sistema host) con l’indirizzo IP 192.168.1.100 dove sono loggato come utente normale (nome utente amministratore in questo esempio) invece che come root.

2 Installazione di VirtualBox

Per installare VirtualBox 5.1 sul nostro server Ubuntu 16.04, apriamo /etc/apt/sources.list…

sudo nano /etc/apt/sources.list

… e aggiungiamo la seguente riga:

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

Poi scarichiamo la chiave pubblica di VirtualBox…

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

… e aggiorniamo il nostro database dei pacchetti:

sudo apt-get update

Successivamente, installiamo VirtualBox 5.1 come segue:

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

(Il pacchetto dkms garantisce che i moduli del kernel host di VirtualBox siano aggiornati correttamente se cambia la versione del kernel Linux.)

A partire dalla versione 4.0, VirtualBox ha introdotto i cosiddetti “pacchetti di estensione” e ha esternalizzato alcune funzionalità come il supporto per la connessione desktop remota (VRDP) che faceva parte dei pacchetti di VirtualBox prima della versione 4.0 in questi pacchetti di estensione. Poiché abbiamo bisogno di connessioni desktop remote per controllare le nostre macchine virtuali, dobbiamo installare ora il pacchetto di estensione appropriato. Vai su http://www.virtualbox.org/wiki/Downloads, e troverai un link al seguente pacchetto di estensione:

VirtualBox 5.1 Oracle VM VirtualBox Extension Pack

Scarica e installa il pacchetto di estensione come segue:

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

(Assicurati di scaricare l’ultima versione dal sito di VirtualBox e di utilizzare sudo per installare il file extpack con VBoxManage.)

Ora dobbiamo aggiungere l’utente che eseguirà VirtualBox (amministratore in questo esempio) al gruppo vboxusers:

sudo adduser administrator vboxusers

VirtualBox è ora installato e pronto per essere utilizzato.

3 Utilizzo di VirtualBox dalla riga di comando

3.1 Creazione di una VM

Per creare una VM dalla riga di comando, possiamo utilizzare il comando VBoxManage. Vedi

VBoxManage --help

per un elenco delle opzioni disponibili e (altamente consigliato!) dai un’occhiata a http://www.virtualbox.org/manual/ch08.html.

Ora creerò una VM Ubuntu 16.04 Server con 2048MB di memoria e un disco rigido da 10GB dall’immagine iso di Ubuntu 16.04 Server (che ho memorizzato in /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

Ora procedi con il capitolo 3.3 per avviare la vm e poi connetterti alla VM con un client desktop remoto come descritto nel capitolo 4.

3.2 Importazione di una VM esistente

Supponiamo che tu abbia una VM chiamata examplevm che desideri riutilizzare su questo host. Sul vecchio host, dovresti avere una directory Machines/examplevm nella directory di VirtualBox; Machines/examplevm dovrebbe contenere il file examplevm.xml. Copia la directory examplevm (incluso il file examplevm.xml) nella tua nuova directory Machines (se il tuo nome utente è administrator, questa è /home/administrator/.VirtualBox/Machines - il risultato dovrebbe essere /home/administrator/.VirtualBox/Machines/examplevm/examplevm.xml).

In aggiunta a ciò copia il file examplevm.vdi dalla vecchia directory VDI a quella nuova (ad es. /home/administrator/.VirtualBox/VDI/examplevm.vdi).

Successivamente, devi registrare la VM importata:

VBoxManage registervm Machines/examplevm/examplevm.xml

3.3 Avvio di una VM con VBoxHeadless

Indipendentemente dal fatto che tu crei una nuova VM o importi una vecchia, puoi avviarla con il comando:

VBoxHeadless --startvm "Ubuntu 16.04 Server"

(Sostituisci Ubuntu 16.04 Server con il nome della tua VM.)

VBoxHeadless avvierà la VM e un server VRDP (VirtualBox Remote Desktop Protocol) che ti consente di vedere l’output della VM da remoto su un’altra macchina.

Per fermare una VM, esegui

VBoxManage controlvm "Ubuntu 16.04 Server" poweroff

Per mettere in pausa una VM, esegui

VBoxManage controlvm "Ubuntu 16.04 Server" pause

Per ripristinare una VM, esegui

VBoxManage controlvm "Ubuntu 16.04 Server" reset

Per saperne di più su VBoxHeadless, dai un’occhiata a

VBoxHeadless --help

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

4 Connessione a una VM da un desktop remoto

4.1 Windows

Puoi utilizzare l’utilità di connessione desktop remoto integrata per connetterti alla VM.

Digita il nome host o l’indirizzo IP dell’host (non del guest!):

Accesso RDP Windows

E voilà, dovresti essere connesso alla VM:

La macchina virtuale Ubuntu tramite RDP

4.2 Desktop Ubuntu

Sui desktop Ubuntu, puoi utilizzare il client desktop remoto Remmina o gnome-rdp per connetterti alla VM.

Installa il client con apt:

sudo apt-get install remmina remmina-plugin-rdp

Cerca semplicemente remmina e poi fai doppio clic sull’icona del client Remmina per avviare l’applicazione RDP.

Nel client desktop remoto Remmina, fai clic sull’icona più per aggiungere una nuova connessione desktop remoto:

Remmina avviata.

Nella finestra delle preferenze del desktop remoto, compila un nome per il profilo (come Ubuntu 16.04 Server), assicurati che RDP sia selezionato come protocollo (dovrebbe essere selezionato per impostazione predefinita), quindi compila l’indirizzo IP dell’host - non l’IP del guest di VirtualBox! - nel campo Server, e seleziona una profondità di colore superiore a quella predefinita di 8bpp - 16bpp va bene. Poi fai clic su Connetti:

Dettagli di accesso Remmina.

E voilà, dovresti essere connesso alla VM:

VM Ubuntu tramite Remmina RDP.

4.3 Se la connessione desktop remoto non funziona…

Se la connessione desktop remoto non funziona, probabilmente hai saltato il passaggio in cui installo il pacchetto di estensione di VirtualBox nel capitolo 2. Si prega di installare ora il pacchetto di estensione, fermare la macchina virtuale (vedi capitolo 3.3) e modificare la tua macchina virtuale per accettare connessioni desktop remote:

VBoxManage modifyvm "Ubuntu 16.04 Server" --vrde on

(Se il pacchetto di estensione è già installato quando crei la tua macchina virtuale, le connessioni desktop remote sono automaticamente abilitate.)

Quindi avvia di nuovo la tua macchina virtuale.

5 Link

Share: X/Twitter LinkedIn

Ricevi i nuovi post nella tua casella di posta.

Nessuno spam. Disiscriviti in qualsiasi momento.