Snap... - sh.itjust.works

I think I've landed on Flatpak as my favourite between Snap, Flatpak, and AppImage. AppImage, when it works, is nice though. Snaps are just kind of inconvenient (auto-updates are a no for me) and bloated and the things Canonical are doing as an organization put a bad taste in my mouth.
I’ve had bad experiences with AppImages. For universal format they do a really poor job at that. And it’s a huge step back into Windows direction that you’ll have to manually download, update etc your shit. Makes managing a bunch of apps a pain.

But isn’t appimage the closest one to the app-system from Android? Since things could be really different on many clients an “app-container” is the best solution.

Why not containerise everything? You need libreoffice? No problem, here is a docker or podman container.

BTW. I like flatpak, too. It’s the most stable, but I never understand it’s mechanics. There is always another pack installed, freecode, gtk, qt whatever. Even if the system has already the correct gtk version, nope, the dev decided to use the gtk image from Ubuntu.

Why not containerise everything? You need libreoffice? No problem, here is a docker or podman container.

Flatpak is basically GUI-optimized containers. It uses the same technology (namespaces) as docker and podman, just with some extra tools to make GUI-related things work properly. That’s why flatpak apps don’t use the system’s gtk version – they’re running in a sandbox with a different rootfs. You can spawn a shell into the sandbox of a specific app with flatpak run --command=sh com.yourapp.YourApp and poke around it if you want to.

Thx, looks like that’s the info I’ve missed.
If you’re interested in another approach to containerizing GUI applications, also checkout out x11docker. It’s a small independent project maintained by one guy, nothing big like flatpak, but also pretty cool. The name is actually a bit limiting – it supports both docker and podman, and can run wayland apps as well. One of the coolest features, in my opinion, is the ability to run a separate X server inside every sandbox and forward individual windows to the “host” X server. That way you can prevent apps from spying on your keyboard or other apps’ windows.
GitHub - mviereck/x11docker: Run GUI applications and desktops in docker and podman containers. Focus on security.

Run GUI applications and desktops in docker and podman containers. Focus on security. - mviereck/x11docker

GitHub
It uses bubblewrap for sandboxing under the hood, right?