Using a Stable-Release Distribution
Table of Contents
- Initializing the Distrobox
- Running Latest GNOME
- Running Latest Plasma
- Using Other GUIs
- Using Apps from Host
Warning
THIS IS EXPERIMENTAL, JUST FOOD FOR THOUGHTS.
BUG REPORTS FOR THIS TYPE OF EXPERIMENTS WILL BE TREATED WITH VERY LOW PRIORITY.
Lots of people prefer to run a distribution following a stable-LTS release cycle like Debian, UbuntuLTS or CentOS family (Almalinux, Rocky Linux). This ensures great stability on one hand, but package staling on the other.
One way to counter this effect is to use a pet-container managed by Distrobox to run packages from much newer distributions without giving up on core base os stability.
Initializing the Distrobox
For this experiment we’ll use Fedora Rawhide as our distrobox, and Centos 8 Stream as our host, so:
and
Running Latest GNOME
First we need to install GNOME in the container:
And let’s grab a coffee while it finishes :-)
After the dnf process finishes, we have GNOME installed in our container,
now how do we use it?
Generate Session File - GNOME
First in the host we need a reliable way to fix the permissions problem of the
/tmp/.X11-unix directory. This directory should either belong to root or
$USER. But in a rootless container, host’s root is not mapped inside the
container so we need to change the ownership from root to $USER each time.
Let’s add:
to /etc/profile.d/fix_tmp.sh file.
This is needed for the XWayland session to work properly which right now is necessary to run gnome-shell even on wayland.
Then we need to add a desktop file for the session on the host’s file system, so that it appears on your login manager (Be it SDDM or GDM)
Name=GNOME )
Comment=This
Exec=/usr/local/bin/distrobox-enter
Type=Application
DesktopNames=GNOME
X-GDM-SessionRegisters=true
This file should be placed under /usr/local/share/wayland-sessions/distrobox-gnome.desktop
(If it doesn’t show up, you can place it under /usr/share/xsessions/distrobox-gnome.desktop)
Let’s log out and voilá!
We now are in a GNOME 42 session inside Fedora Rawhide while our main OS remains Centos.
Running Latest Plasma
We first need to install Plasma in the container:
Generate Session File - Plasma
We need to add a desktop file for the session on the host’s file system, so that it appears on your login manager (Be it SSDM or GDM)
Exec=/usr/local/bin/distrobox-enter
DesktopNames=KDE
Name=Plasma )
X-KDE-PluginInfo-Version=5.23.3
This file should be placed under /usr/local/share/wayland-sessions/distrobox-plasma.desktop
(If it doesn’t show up, you can place it under /usr/share/xsessions/distrobox-plasma.desktop)
Add a Couple of Fixes
To make Plasma work we need a couple more fixes to run both on the host and in the container.
First in the host we need a reliable way to fix the permissions problem of the
/tmp/.X11-unix directory. This directory should either belong to root or
$USER. But in a rootless container, host’s root is not mapped inside the
container so we need to change the ownership from root to $USER each time.
Let’s add:
to /etc/profile.d/fix_tmp.sh file.
We also need to add a process in autostart on which Plasma shell relies on a
process called kactivitymanagerd. Not having host’s systemd at disposal we
can start it simply adding it to the ~/.profile file, add:
if [; then
&
fi
to ~/.profile file.
Let’s log out and voilá!

We now are in latest KDE Plasma session inside Fedora Rawhide while our main OS remains Centos.
Using Other GUIs
Thanks to J.S. Evans he experimented and wrote a beautiful blog post on how to use Distrobox for much more than simply running apps.
You’ll read on how to set up a working Ubuntu container with IceWM running on Xorg using Distrobox:
Using Apps from Host
Now that we’re in a container session, we may want to still use some of the host’s apps. Refer to THIS to create handlers and wrappers to use the complete selection of host’s apps and binaries inside the container.