Comment exécuter n'importe quel programme depuis n'importe quelle distribution Linux avec Distrobox

Une photographie d'un ordinateur portable sur une table.

Distrobox est un outil CLI simple qui peut démarrer n’importe quelle distribution Linux sur votre ordinateur. Contrairement à VirtualBox, Distrobox crée des “superpositions” qui vous permettent d’exécuter n’importe quel programme de différentes distributions Linux par-dessus votre système actuel. Ici, voyons ce qui fait fonctionner Distrobox et comment vous pouvez l’installer et l’utiliser.

Pourquoi utiliser Distrobox pour gérer plusieurs distributions Linux

Le principal argument de vente de Distrobox est qu’il exécute des invités par-dessus l’hôte au lieu d’utiliser une instance isolée. Comparé à une VM traditionnelle, cela vous permet d’accéder sans effort au répertoire personnel de votre hôte, à ses périphériques externes et même à son serveur d’affichage.

Une capture d'écran montrant Ubuntu exécutant deux distributions différentes à l'intérieur.

Ce niveau d’intégration étroite entre l’invité et l’hôte vous permet de faire un certain nombre de choses uniques avec Distrobox. Par exemple, vous pouvez installer une application GUI sur un invité Ubuntu et exporter son raccourci vers le bureau de votre système hôte. En tant que rédacteur technique, je trouve cette fonctionnalité utile lors des tests et des comparaisons d’applications différentes.

Une capture d'écran montrant deux versions de Vim exécutées sur deux instances Distrobox.

Enfin, Distrobox est également incroyablement léger. Cela le rend idéal pour les systèmes de bas de gamme qui n’ont pas les ressources pour exécuter plusieurs VM. D’après mon expérience, exécuter des invités Ubuntu et Fedora pendant environ six heures n’a consommé qu’environ 900 Mo de la RAM totale de mon hôte.

Installer et tester Distrobox

Au cœur de Distrobox, il fonctionne en tirant parti des démons de conteneurs tels que Docker et Podman pour gérer ses distributions. Pour cela, la première étape pour déployer Distrobox est d’installer Docker sur votre machine.

Confirmez que le démon Docker fonctionne sur votre système en vérifiant sa version :

docker--version

Ajoutez votre utilisateur actuel au groupe système docker :

sudo adduser $USERdocker

Téléchargez et installez Distrobox en utilisant le gestionnaire de paquets de votre système :

sudo apt install distrobox

Assurez-vous que vous avez correctement installé Distrobox en l’exécutant avec le drapeau -h.

Un terminal montrant l'écran d'aide de Distrobox.

Déployer votre première distribution overlay

Avec Distrobox en cours d’exécution, vous pouvez maintenant installer votre première superposition de distribution Linux. Pour cela, les développeurs fournissent une image OCI Fedora 39 comme support d’installation par défaut.

Commencez par exécuter Distrobox avec la sous-commande create suivie du nom et du nom d’hôte que vous souhaitez pour votre nouvelle superposition :

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

Tapez “y”, puis appuyez sur Entrée pour tirer et déployer votre nouvelle distribution overlay.

Un terminal montrant l'invite de confirmation pour créer une nouvelle instance Distrobox.

Remarque : selon le matériel de votre système, cela peut prendre entre 5 et 10 minutes pour installer complètement le système invité dans Distrobox.

Une fois terminé, exécutez la commande suivante pour démarrer et charger votre nouvelle distribution overlay :

distrobox enter YOUR-OVERLAY-NAME-HERE

Confirmez que vous êtes maintenant à l’intérieur du système overlay en regardant le nom d’hôte sur votre invite de terminal.

Pour fermer une session overlay, appuyez sur Ctrl + D sur le terminal invité, puis exécutez distrobox stop suivi du nom de votre overlay.

À noter : explorez la puissance de Fedora et de Red Hat Enterprise Linux en consultant notre guide complet sur le gestionnaire de paquets DNF.

Exécuter une image Linux personnalisée sur Distrobox

En plus de Fedora 39, il est possible d’exécuter d’autres distributions Linux compatibles OCI à l’intérieur de Distrobox, par exemple, Arch Linux.

Pour installer une distribution Linux personnalisée, exécutez la sous-commande create avec le drapeau -i suivi d’un lien vers une image compatible OCI. Dans mon cas, je vais utiliser l’image Arch Linux Toolbx de Quay.io comme base pour ma superposition :

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

Un terminal montrant le processus de création d'un conteneur Docker Arch Linux.

Remarque : vous pouvez trouver une liste des distributions compatibles et leurs liens de téléchargement sur la page Github du développeur.

Après cela, démarrez l’overlay et entrez dans votre nouveau système Arch Linux :

distrobox enter arch-linux

Tout comme avec Fedora, confirmez que vous exécutez maintenant Arch Linux en vérifiant le nom d’hôte de votre terminal.

Un terminal montrant le processus d'entrée dans une nouvelle instance Distrobox.

Installer et exécuter des paquets sur Distrobox

Un des avantages de l’intégration étroite de Distrobox est que les systèmes invités se comportent comme s’ils étaient natifs de la machine hôte. De ce fait, installer et exécuter n’importe quel programme dans Distrobox est similaire à une installation Linux classique.

Pour installer un paquet sur un invité Distrobox, assurez-vous d’abord que vous êtes actuellement à l’intérieur de votre distribution overlay :

distrobox enter arch-linux

Remarque : vous pouvez lister les superpositions disponibles sur votre système en exécutant distrobox ls.

Utilisez le gestionnaire de paquets de votre distribution invitée pour installer le programme dont vous avez besoin. Dans ce cas, je vais exécuter sudo pacman -S neofetch pour installer neofetch sur mon système invité Arch Linux.

Un terminal montrant le gestionnaire de paquets pacman exécuté à l'intérieur d'une instance Distrobox.

Testez votre nouveau paquet en l’exécutant une fois à l’intérieur de l’overlay et une autre fois à l’extérieur.

Un terminal montrant l'isolement du programme entre le Distrobox Arch Linux et le système hôte Ubuntu.

Vous pouvez également installer un programme depuis l’extérieur de l’overlay Distrobox. Pour cela, utilisez la sous-commande enter suivie de l’opérateur -- :

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

Cette fonctionnalité s’étend à l’exécution de programmes en dehors de votre système invité. Par exemple, la commande suivante exécutera neofetch sur mon invité Arch Linux et affichera sa sortie dans mon système hôte Ubuntu :

distrobox enter --name arch-linux -- neofetch

Un terminal montrant le programme neofetch à l'intérieur de l'instance Arch Linux exécutée sur l'hôte Ubuntu.

Bon à savoir : vous utilisez un gestionnaire de paquets différent ? Consultez notre fiche pratique sur les gestionnaires de paquets pour différentes distributions Linux.

Exporter un programme overlay vers le système hôte

Bien que l’opérateur -- soit excellent pour des tâches ponctuelles simples, il est également possible de créer des “profils” Distrobox qui vous permettent d’exécuter n’importe quel programme invité directement depuis votre machine Linux hôte. Cela est utile si vous souhaitez avoir un accès constant à un programme à l’intérieur de votre système invité Distrobox.

Pour exporter vers votre machine hôte, entrez d’abord dans le système où vous avez installé votre programme :

distrobox enter arch-linux

Assurez-vous que votre application fonctionne correctement à l’intérieur du conteneur. Dans mon cas, je veux exporter mon installation d’Emacs à l’intérieur d’Arch Linux.

Une capture d'écran montrant le client GUI Emacs exécuté à l'intérieur de l'instance Distrobox Arch Linux.

Exécutez distrobox-export avec le drapeau --app suivi du nom du programme que vous souhaitez exporter :

distrobox-export --app emacs

Testez votre application nouvellement exportée en allant dans le lanceur d’applications de votre système hôte et en cliquant sur l’icône du programme.

Une capture d'écran montrant le lanceur d'applications Ubuntu affichant le client GUI Emacs.

Installer et exécuter des systèmes d’exploitation invités avec Distrobox n’est qu’un exemple de ce que vous pouvez faire avec Docker et la technologie des conteneurs. Plongez dans le fonctionnement de ce programme en consultant notre introduction à l’exécution et à la gestion des conteneurs Docker.

Crédit image : Kari Shea via Unsplash. Toutes les modifications et captures d’écran par Ramces Red.