Looking for a graphical interface to manager Distrobox containers? Here’s modern new GTK4 client DistroShelf in development.
There are many popular containers, such as Docker, Podman, and LXC, allowing to run applications in isolated environments. And, Distrobox is the one that can run any Linux distribution inside terminal.
Most Linux containers run in terminal, that’s neither beginner friendly nor easy to manage when running multiple Linux Distributions in background.
So many graphical apps were born making easy to manage containers. And, DistroShelf is the one for Distrobox, that features modern GUI, powered by GTK4 and LiAdwaita, that’s well integrated with GNOME desktop.
Why using Linux Containers
Without running full operating system in real or virtual machine, Linux container is a lightweight and efficient way for developers to test applications and ensure they are running good across different Linux Distributions.
As containers are isolated from the rest of the system, they are portable, easy to maintain, and more secure than running directly on host OS, though there few downsides, such as performance loss and more disk space usage.
As normal Linux users, it’s a good choice to try out applications from different distributions, e.g., running an Arch Linux application in Ubuntu, or new/old app in old/new Linux Distro, without messing up current system environment.
DistroShelf
DistroShelf provides a modern graphical interface that looks native in Ubuntu, Fedora Workstation, and other Linux with GNOME Desktop.
It offers a list of base images, allowing to easily create & run containers with:
- Oracle Linux 7/8/9,
- Arch Linux,
- Gentoo,
- Kali Linux,
- Alma Linux,
- Alpine,
- Clear Linux,
- Debian (stable, testing, unstable),
- Ubuntu 14.04, 16.04, 18.04, 20.04, 22.04, 24.04,
- Deepin,
- Linux Mint,
- RedHat Enterprise Linux 7~9,
- Fedora 37 ~ 40,
- openSUSE, and more.
By default, it creates containers with shared HOME directory of the user, external storage, external USB devices and graphical apps (X11/Wayland), and audio, though you has the choice to create custom home directory for each container.
Without using the provided images, it also supports creating containers from your own files or remote URL.
After installed your desired Linux distributions in containers, you’ll see the manage options to install and start apps, upgrade, stop, delete containers, and launch terminal for working in command line.
And, it creates app launcher for each container, so you may start and launch it (terminal) just like normal applications.
How to Install DistroShelf in Ubuntu
1. First, press Ctrl+Alt+T
on keyboard to open up a terminal window. When it opens, run command to install the backend Distrobox package:
sudo apt install distrobox
For choice, you may install the most recent version from Distrobox website.
2. DistroShelf is available to install as Flatpak package. Linux Mint 21/22 users can directly search for and install it Software Manager.
While Ubuntu users need to first run command to enable Flatpak support:
sudo apt install flatpak
Then, use the command below to install the package from Flathub repository:
flatpak install https://dl.flathub.org/repo/appstream/com.ranfdev.DistroShelf.flatpakref
NOTE: there may be many other run-time libraries (e.g., Gnome platform) to be installed along with the application.
After installed the app, either start from Gnome overview or your system app launcher (log out and back in if app icon not visible):
Or start it from terminal, which is useful for debugging purpose:
flatpak run com.ranfdev.DistroShelf
Uninstall
To uninstall DistroShelf, use command in terminal:
flatpak uninstall --delete-data com.ranfdev.DistroShelf
Optionally, run flatpak uninstall --unused
to remove useless runtime libraries.
NOTE: uninstall DistroShelf does NOT stop and remove running containers. To stop containers after uninstalled the GUI, use commands:
- List containers to get ID, NAME, status:
distrobox list
- Stop a container:
distrobox stop NAME-or-ID
- Remove a container:
distrobox rm NAME-or-ID
Finally, remove Distrobox via command:
sudo apt remove --autoremove distrobox
To clear the container leftovers, just delete the .local/share/containers
folder.