Hi, I have recently switched to OpenSUSE Aeon and am loving the experience so far. For development, I simply install my whole toolchain and my editor inside a “distrobox” and everything just works™
including Wayland integration and even hardware graphics acceleration!
However, something that concerns me about this development setup with distrobox is that it offers no sandboxing or isolation. Furthermore, it seems the project is very clear about not offering sandboxing and not wanting to offer it either (as per [Feature] Sandboxed mode · Issue #28 · 89luca89/distrobox · GitHub).
My main concern is that if I were to fall victim to a “supply chain attack” or similar, any rogue process would have full access to my entire home directory and everything stored in there. So at the very least I want my development environment not to have access to my real home directory. Additional sandboxing would of course also be nice to the extent that is possible without breaking things like graphics.
I thought that simply using Podman directly could be an alternative to get what I want but unfortunately I have not been able to get that working (even after many attempts…). The main problem is that I am not managing to get Wayland (and likely GPU access) working inside the container for GUI apps.
For testing I am using the following simple Dockerfile:
FROM registry.opensuse.org/opensuse/tumbleweed:latest
RUN zypper refresh && \
zypper install -y sudo Mesa-demo-x && \
useradd -m user && \
echo 'user ALL=(ALL) NOPASSWD:ALL' >> /etc/sudoers
USER user
And the following command to launch Podman:
podman run -it \
--rm \
--userns=keep-id \
--group-add keep-groups \
-e XDG_RUNTIME_DIR=$XDG_RUNTIME_DIR \
-e WAYLAND_DISPLAY=$WAYLAND_DISPLAY \
-v $XDG_RUNTIME_DIR/$WAYLAND_DISPLAY:$XDG_RUNTIME_DIR/$WAYLAND_DISPLAY \
-v /dev/dri:/dev/dri \
--network host \
tumble-sudo
I then try to run glxinfo
in the container but always get hit with Error: unable to open display
.
Most of the parameters I am passing have been driven by a suspicion that there might be permission errors but I am not sure about that and nothing I have tried so far makes any difference. I even tried setting SELinux to “permissive” mode under a suspicion that it might the problem, but no dice.
I am not sure if this is an Aeon specific issue or if I am just doing something wrong in general, but any help would be greatly appreciated!