Come Eseguire Qualsiasi Programma da Qualsiasi Distro Linux con Distrobox

Una fotografia di un laptop sopra un tavolo.

Distrobox è un semplice strumento CLI che può avviare qualsiasi distro Linux all’interno del tuo computer. A differenza di VirtualBox, Distrobox crea “overlay” che ti permettono di eseguire qualsiasi programma da diverse distro Linux sopra il tuo sistema attuale. Qui, vediamo cosa rende Distrobox così interessante e come puoi installarlo e usarlo.

Perché Usare Distrobox per Gestire Più Distro Linux

Il principale punto di forza di Distrobox è che esegue i guest sopra l’host invece di utilizzare un’istanza isolata. Rispetto a una VM tradizionale, questo ti consente di accedere senza problemi alla home directory dell’host, ai suoi dispositivi esterni e persino al suo server di visualizzazione.

Uno screenshot che mostra Ubuntu che esegue due diverse distro al suo interno.

Questo livello di integrazione tra il guest e l’host ti consente di fare alcune cose uniche con Distrobox. Ad esempio, puoi installare un’applicazione GUI su un guest Ubuntu ed esportare la sua scorciatoia sul desktop del tuo sistema host. Come scrittore tecnico, trovo questa funzione utile quando testo e confronto diverse app.

Uno screenshot che mostra due versioni di Vim in esecuzione su due istanze Distrobox.

Infine, Distrobox è anche incredibilmente leggero. Questo lo rende ideale per sistemi di fascia bassa che non hanno le risorse per eseguire più VM. Dalla mia esperienza, eseguire guest Ubuntu e Fedora per circa sei ore ha consumato solo circa 900 MB della RAM totale del mio host.

Installazione e Test di Distrobox

Alla base, Distrobox funziona sfruttando i demoni dei container come Docker e Podman per gestire le sue distro. Per questo motivo, il primo passo per distribuire Distrobox è installare Docker sulla tua macchina.

Conferma che il demone Docker sia in esecuzione sul tuo sistema controllando la sua versione:

docker--version

Aggiungi il tuo utente attuale al gruppo di sistema docker:

sudo adduser $USERdocker

Scarica e installa Distrobox utilizzando il gestore pacchetti del tuo sistema:

sudo apt install distrobox

Assicurati di aver installato correttamente Distrobox eseguendolo con il flag -h.

Un terminale che mostra la schermata di aiuto di Distrobox.

Distribuire la Tua Prima Distro Overlay

Con Distrobox avviato e funzionante, puoi ora installare il tuo primo overlay di distro Linux. A tal fine, gli sviluppatori forniscono un’immagine OCI di Fedora 39 come media di installazione predefinito.

Inizia eseguendo Distrobox con il sottocomando create seguito dal nome e dal nome host che desideri per il tuo nuovo overlay:

distrobox create --name YOUR-OVERLAY-NAME-HERE --hostname YOUR-CONTAINER-NAME-HERE

Digita “y”, quindi premi Invio per scaricare e distribuire la tua nuova distro overlay.

Un terminale che mostra il prompt di conferma per la creazione di una nuova istanza Distrobox.

Nota: a seconda dell’hardware del tuo sistema, potrebbe richiedere tra 5 e 10 minuti per installare completamente il sistema guest in Distrobox.

Una volta completato, esegui il seguente comando per avviare e caricare la tua nuova distro overlay:

distrobox enter YOUR-OVERLAY-NAME-HERE

Conferma che ora sei all’interno del sistema overlay controllando il nome host nel tuo prompt del terminale.

Per chiudere una sessione overlay, premi Ctrl + D nel terminale guest, quindi esegui distrobox stop seguito dal nome del tuo overlay.

Nota a margine: esplora il potere di Fedora e Red Hat Enterprise Linux consultando la nostra guida completa sul gestore pacchetti DNF.

Eseguire un’immagine Linux personalizzata su Distrobox

Oltre a Fedora 39, è possibile eseguire altre distro Linux compatibili con OCI all’interno di Distrobox, ad esempio Arch Linux.

Per installare una distro Linux personalizzata, esegui il sottocomando create con il flag -i seguito da un link a un’immagine compatibile con OCI. Nel mio caso, userò l’immagine Arch Linux Toolbx da Quay.io come base per il mio overlay:

distrobox create --name arch-linux --hostname mte-archlinux-container --image quay.io/toolbx/arch-toolbox:latest

Un terminale che mostra il processo di creazione di un container Docker Arch Linux.

Nota: puoi trovare un elenco di distro compatibili e i loro link per il download sulla pagina Github dello sviluppatore.

Dopo che è stato completato, avvia l’overlay e accedi al tuo nuovo sistema Arch Linux:

distrobox enter arch-linux

Proprio come con Fedora, conferma che ora stai eseguendo Arch Linux controllando il nome host del tuo terminale.

Un terminale che mostra il processo di accesso a una nuova istanza Distrobox generata.

Installazione ed Esecuzione di Pacchetti su Distrobox

Uno dei vantaggi della stretta integrazione di Distrobox è che i sistemi guest si comportano come se fossero nativi della macchina host. Per questo motivo, installare ed eseguire qualsiasi programma in Distrobox è simile a un’installazione Linux regolare.

Per installare un pacchetto su un guest Distrobox, assicurati prima di essere attualmente all’interno della tua distro overlay:

distrobox enter arch-linux

Nota: puoi elencare gli overlay disponibili sul tuo sistema eseguendo distrobox ls.

Usa il gestore pacchetti della tua distro guest per installare il programma di cui hai bisogno. In questo caso, eseguirò sudo pacman -S neofetch per installare neofetch sul mio sistema guest Arch Linux.

Un terminale che mostra il gestore pacchetti pacman in esecuzione all'interno di un'istanza Distrobox.

Testa il tuo nuovo pacchetto eseguendolo una volta all’interno dell’overlay e un’altra volta all’esterno.

Un terminale che mostra l'isolamento del programma tra il Distrobox Arch Linux e il sistema host Ubuntu.

Puoi anche installare un programma dall’esterno dell’overlay Distrobox. Per questo, usa il sottocomando enter seguito dall’operatore --:

distrobox enter --name arch-linux --sudo pacman -s neofetch

Questa funzione si estende all’esecuzione di programmi al di fuori del tuo sistema guest. Ad esempio, il seguente comando eseguirà neofetch sul mio guest Arch Linux e visualizzerà il suo output nel mio sistema host Ubuntu:

distrobox enter --name arch-linux -- neofetch

Un terminale che mostra il programma neofetch all'interno dell'istanza Arch Linux in esecuzione sull'host Ubuntu.

Buono a sapersi: usi un gestore pacchetti diverso? Dai un’occhiata alla nostra pratica scheda di riferimento sui gestori pacchetti per diverse distro Linux.

Esportare un Programma Overlay nel Sistema Host

Mentre l’operatore -- è ottimo per compiti semplici e una tantum, è anche possibile creare “profili” Distrobox che ti consentono di eseguire qualsiasi programma guest direttamente dalla tua macchina Linux host. Questo è utile se desideri avere accesso costante a un programma all’interno del tuo sistema guest Distrobox.

Per esportare sulla tua macchina host, prima vai all’interno del sistema in cui hai installato il tuo programma:

distrobox enter arch-linux

Assicurati che la tua applicazione funzioni correttamente dall’interno del container. Nel mio caso, voglio esportare la mia installazione di Emacs all’interno di Arch Linux.

Uno screenshot che mostra il client GUI Emacs in esecuzione all'interno dell'istanza Distrobox Arch Linux.

Esegui distrobox-export con il flag --app seguito dal nome del programma che desideri esportare:

distrobox-export --app emacs

Testa la tua nuova app esportata andando al launcher delle applicazioni del tuo sistema host e cliccando sull’icona del programma.

Uno screenshot che mostra il launcher delle applicazioni di Ubuntu che mostra il client GUI Emacs.

Installare ed eseguire sistemi operativi guest con Distrobox è solo un esempio di ciò che puoi fare con Docker e la tecnologia dei container. Approfondisci come funziona questo programma consultando il nostro primer su come eseguire e gestire i container Docker.

Crediti immagine: Kari Shea tramite Unsplash. Tutte le modifiche e gli screenshot di Ramces Red.