PC users in the Windows 11 world have had a way to run multiple Linux distros on their PCs for some time now thanks to the Windows Subsystem for Linux. This feature allows you to install a wide range of distros such as Debian, Ubuntu, and RHEL, and use them side-by-side in Windows Terminal. It's a great way to get the best of both worlds.

However, Linux is a very varied ecosystem, and there are also good reasons to run different Linux distributions within your current one. And of course, with the Linux community being as proactive as it is, there's a solution for that. Distrobox isn't the only option out there for running multiple Linux distros on your PC, but it's a great one. Even for a relatively new user in the space, Distrobox is easy to use and it's very capable.

It's easy to set up

Getting started is easy

Right off the bat, using Distrobox is surprisingly easy. When you use it, your Linux distros run inside containers, but Distrobox doesn't actually handle the containerization itself. It works with container managers like Docker, Podman, or Lilipod. You'll need to install one of those first, and I went with Podman. I tested this on AnduinOS, which is based on Ubuntu, so all I had to do was run:

sudo apt install podman

Then, to install distrobox itself, just type in:

sudo apt install distrobox

I use Ubuntu as an example, but Distrobox is available for a ton of Linux distros, including Arch, Nix, Manjaro, Fedora, and many more. You should be able to use the package manager that's included in those distros to install Distrobox easily.

Once you have Distrobox, creating new containers for a given Linux distro is also just as easy. As an example, I installed Arch Linux within one of my containers, and to do that, I just had to type in:

distrobox create -n Arch -i archlinux

Here, the -n option lets you specify the name of the box in your Distrobox manager (you can use distrobox list to see installed containers) and the -i command lets you specify an image to pull. Images are specified in a configuration file in case you need help finding out which command to enter for a specific distro. You can also easily remove a distro by using distrobox rm Arch (replacing Arch with the name you set for that container).

Tight integration

It just works

In addition to being easy to set up, Distrobox is also pretty easy to use, and there isn't much you need to think about. Once you've created a container with the distro you want, you can simply type in distrobox enter Arch (you'll have to use the name you gave the container), and you can soon start entering commands for that distro. The containers are tightly integrated with the host (by using the host's kernel), with access to your user folders and even external drives, just as the host would have. They work sort of similarly to how Proxmox LXCs function, but with bind mounts making it possible to easily access the Home folder from the host operating system, so it all works more seamlessly.

I mostly tested this out with Arch Linux, where I tried to build a package from the Arch User Repository (AUR). I attempted to build the vivaldi-snapshot package, and for the most part, it worked. I was able to clone the git repository containing the build files, use the makepkg command to build a package based on those files (after installing some dependencies), and unpack the package I built. Admittedly, I couldn't get Vivaldi to run due to missing libraries, but the app did install.

I also set up a separate container for Ubuntu, as I figured it would be easier to get working. I installed VLC this way, and sure enough, I was able to launch with the complete GUI and all. Apps installed in containers aren't added to the apps list on the host system, though the distros themselves are. You can open any of the containers you created and access your apps that way.

Distrobox is even a great fit for the Steam Deck, as illustrated by this Reddit post. Using Distrobox, you can set up a development environment relatively within an immutable operating system like SteamOS. All the dependencies are installed in the user's Home folder on the host operating system, which is still accessible even in an immutable system. This way, all your tools will work just as they would on bare metal, and your gaming machine becomes that much more useful.

By the way, even if you're currently in a container in Distrobox, you can run commands on the host using the distrobox-host-exec command followed by whatever command you want to run. Of course, you can also just open a new terminal window or tab, which runs on your host system by default.

It's lightweight

Surprisingly fast and snappy

One of the things that surprised me the most during this test was just how quick and breezy everything was. Not just in terms of simplicity, but in terms of speed. I figured pulling packages for different distros and setting up containers might take some time, but it probably takes less than two minutes to have a brand-new container up and running, ready for any command you need.

When you first create the container, it only takes a few seconds for the image to be pulled and installed, and then it's even faster to enter the container itself and set everything up for the first time. And that's the longest it ever takes. Once you've used a container once, you can enter it nearly instantly in future iterations, and it's honestly hard to tell you're not just using your main system. Everything is snappy, and there doesn't seem to be any performance overhead that would cause my system to need more cooling power than normal.

Actually, that's probably the only downside I can see here. Once you're in a Distrobox container, you don't get much of an indicator that your commands are running in a container and not on the host. You have to be the one to keep track of your terminal instances and remember what's doing what, which can be a hassle if you have a lot of things running concurrently.

Why bother with dual-booting?

All in all, Distrobox is a fantastic tool for anyone who might need access to multiple Linux distros at any given time. It makes it incredibly easy to do just about anything you need in different distros, and the tight integration helps manage everything even more easily. I'd argue it's even more seamless than using the Windows Subsystem for Linux, and I highly recommend checking it out.