DistroBox is an automation tool for deploying Distribution like Containers in a terminal [Link]. It makes possible to run from GUI apps to full graphic environments.

Even though Docker is the most popular container platform, for greater security it is recommended to use Podman whenever possible because it runs the container with the permission of the user, instead of root.

The containers are well integrated with the host operating system. They share the user home directory, external storage, and even USB or graphical/audio peripherals.

  • What using DistroBox for?
    • Development: test application in multiple distributions.
    • Distro-hopping: test multiple flavours of Linux effortless and safely.
    • Privilege: excellent workaround the lack of permissions on the host by having full control of container.

INSTALLATION ON UBUNTU

Requirements

sudo apt update
sudo apt install docker.io podman -y

Add the repository and start the installation.

sudo add-apt-repository ppa:michel-slm/distrobox
sudo apt update
sudo apt install distrobox -y

USAGE

Gathering information and listing boxes.

distrobox help
distrobox ls

Deploying and entering a box.

distrobox create -n UbuntuBox --image ubuntu:24.04
distrobox enter UbuntuBox

Installing and exporting an app.

$ sudo apt install kolourpaint -y
$ kolourpaint
$ distrobox-export --app kolourpaint
$ exit

Executing exported app from the host.

kolourpaint

Stopping and removing a box.

distrobox stop UbuntuBox
distrobox rm UbuntuBox

See full list of distros and versions available at [Link].


USAGE

Deploying an ephemeral box that will self-destroy on exiting.

distrobox-ephemeral create -n KaliBox --image kali-rolling

Executing commands on the Host from inside the box.

distrobox-host-exec distrobox ls

Exporting app with sudo, listing and removing exported application from a container.

$ distrobox-export --sudo appName
$ distrobox-export --list-apps
$ distrobox-export --delete appName

Upgrading one or all boxes.

distrobox-upgrade KaliBox
distrobox-upgrade --all

Creating a box that belongs to the root user.

distrobox create -n UbuntuBox --image ubuntu:24.04 --root
distrobox enter --root UbuntuBox

Cloning an existing box.

distrobox stop KaliBox
distrobox create --name KaliClone --clone KaliBox

Enabling Nvidia support at box creation.

distrobox create --nvidia --name UbuntuNvidia --image ubuntu:latest