CLI tool
89luca89/distrobox avatar
89luca89/distrobox

Distrobox: A Terminal-Based Bridge Between Linux Distributions

Use any linux distribution inside your terminal. Enable both backward and forward compatibility with software and freedom to use whatever distribution you re more comfortable with. Mirror available at:.

12,976 stars541 forksGoGPL-3.0

At a glance

What is it?
Distrobox wraps podman, docker, or lilipod to run any Linux distribution inside your terminal, sharing your home directory and graphical apps. It is a practical tool for developers and tinkerers, but it has real limits around security and container manager choice.
Who is it for?
Adopt Distrobox if you are a developer, sysadmin, or enthusiast who needs a specific distribution's tools without rebooting or replacing your host OS, and you are comfortable with container technology. Do not use it if you need strong isolation between the container and your host, because the tight integration of HOME and devices blurs that boundary.
Can I use it commercially?
Yes, with conditions. GPL-3.0 is a copyleft licence: if you distribute software that includes it, you must release that software's source code under the same licence. Running it internally without distributing it does not trigger that obligation.
Is it still maintained?
Yes. The repository last received commits 2 days ago.
What is it written in?
Mainly Go, according to GitHub's language statistics.

Answers come from the project's GitHub data, last synced on September 14, 2026, and from our analysis. They are not legal advice.

DEEP OPEN-SOURCE ANALYSIS

What Distrobox Solves and Who It Serves

Distrobox addresses a specific pain: you are stuck with one Linux distribution on your machine, but you need software or a userland from another. The README states its purpose directly: "Use any Linux distribution inside your terminal." It enables both backward and forward compatibility with software, meaning you can run an older tool that your host dropped, or a newer package that your host has not packaged yet. The intended audience is anyone who spends time in the terminal and wants the freedom to pick a distribution per task, without dual-booting or spinning up a full virtual machine. This includes developers testing across distributions, users on immutable systems like SteamOS (the README has a Steamdeck guide), and people who prefer a different package manager for certain jobs.

The Mechanism: Containers With a Tight Host Integration

Distrobox is not a virtual machine and not a chroot. Under the hood, it uses podman, docker, or lilipod to create a container from an image of your chosen distribution. The key difference from a plain container is the integration layer. According to the README, the created container shares the host's HOME directory, external storage, USB devices, graphical apps over X11 or Wayland, and audio. That means when you enter the container, you see your usual files and can launch GUI applications as if they were running on the host. The integration works both ways: you can export applications from the container to the host's application menu, and you can execute host commands from inside the container. This is a deliberate design choice that trades isolation for convenience, and it is worth keeping in mind if you expect a security barrier.

Getting Started: Commands and Configuration

The README's Quick Start section is minimal, but the usage documentation lists the core commands. You create a container with distrobox-create, specifying an image, for example distrobox-create --name ubuntu --image ubuntu:latest. You enter it with distrobox-enter, and you can stop or remove it with distrobox-stop and distrobox-rm. There is also distrobox-ephemeral for a throwaway container, and distrobox-list to see what you have. Configuration is done through environment variables or a config file, though the README does not show the exact keys. The distrobox-assemble command lets you define multiple containers in a file and bring them up together, which is useful for reproducible setups. Installation is typically via your package manager, or you can build from source; the project is written in Go, and the repository includes a Makefile and packaging files. For a quick start, you need a container manager installed first; the README links to a guide for installing podman without root.

The Go Rewrite and Release Candidate Status

A significant point for adopters is that the project is in the middle of a rewrite. The recent releases are 2.0.0-rc.4, rc.3, and rc.2, with the last push on 2026-07-25. The README links to a post titled "Announcing the next generation of Distrobox" and another on "Distrobox Next architecture," indicating that version 2.0 is a major architectural change, likely the move to Go (the primary language listed). This matters because release candidates are not stable. If you rely on Distrobox for daily work, you may want to stick with a stable 1.x release until 2.0 is finalized. The rc status also means the documentation on GitHub may not match the released version; the README itself warns that the docs on GitHub refer to the main branch and points to distrobox.it for official documentation.

Limitations and Failure Modes

The most obvious limitation is the security model. Because the container shares your HOME directory and has access to your devices, a compromised process inside the container has the same access to your personal files as a host process. The README has a section on "Security implications" in the aims, which suggests the authors are aware, but it does not promise strong isolation. Another failure mode is dependency on the container manager. If podman or docker is not installed or misconfigured, Distrobox will not work. The README lists lilipod as an alternative, which is a lighter container manager from the same author, but it is less battle-tested. Also, not every host distribution is supported; the compatibility page lists supported host distros and container distros, so you should check that before assuming it works on your setup. Finally, graphical apps can fail if the display socket is not forwarded correctly; the useful tips include a fix for "Error cannot open display: :0", which is a common issue.

Alternatives: Toolbox and Raw Containers

The closest alternative is Toolbox, which is similar in concept but with a different philosophy. Toolbox is designed specifically for immutable host systems like Fedora Silverblue, and it uses podman under the hood. The main difference is that Toolbox focuses on providing a development environment that is integrated with the host, but it does not aim to run arbitrary distributions with the same level of customization. It also has a more opinionated setup, creating a default container with your host's user and a curated set of tools. Distrobox is more flexible: you can use any image, any container manager, and you have more control over mounts and exports. Another alternative is to use raw podman or docker commands directly, which gives you full control but requires you to manually set up the HOME mount, display forwarding, and audio. Distrobox automates all that, which is its main value.

Maintenance and Upgrade Cost

Maintenance cost is moderate. Because Distrobox is a wrapper around container managers, you need to keep those updated, and you may need to update Distrobox itself to stay compatible with new podman or docker versions. The project is under active development, with a new release candidate in July 2026, so you can expect changes. Upgrades to 2.0 may break existing containers or configuration, especially if the architecture changes how containers are created. The license is GPL-3.0, which means if you distribute modified versions, you must share your changes under the same license. This is fine for personal use, but if you embed Distrobox in a proprietary product, you need to be careful. The README also mentions a compatibility matrix, so you should re-check that after upgrading your host distribution or container manager.

Editorial conclusion

Adopt Distrobox if you are a developer, sysadmin, or enthusiast who needs a specific distribution's tools without rebooting or replacing your host OS, and you are comfortable with container technology. Do not use it if you need strong isolation between the container and your host, because the tight integration of HOME and devices blurs that boundary. Before adopting, verify which container manager you will use (podman, docker, or lilipod) and confirm your host distribution is on the compatibility list. Also check the current release status, since the latest versions are release candidates, not stable releases.

Official sources

  1. Official documentation
  2. Official README
  3. Project repository
  4. Release notes
Community notes

Community notes