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.
The thing with appimages is that they expect the developer to have full knowledge of what libraries need to be bundled with their app, which makes it difficult to make truly universal appimages. In flatpak you just select one of a set list of runtimes and add any additional dependencies on top of it. Flatpak also re-uses the files for each runtime in between the different apps that use it, which saves a lot of disk space.
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.
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.
I’m not too familiar with whatever Android is doing with apks these days tbh. I just don’t like how AppImages fails at the one thing it should do (universality) and doesn’t have the repo model built in. You can have third party solutions to that but it’s just not the same experience.
Why not containerise everything? You need libreoffice? No problem, here is a docker or podman container.
I’ve heard people suggest such a solution. Everything is a container and stuff is just exported out so that it shows up to the system like a normal program. Can’t really say I’m the right person to judge the pros and cons.
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.
It can be both good and bad and sometimes it’s necessary. The whole system relies on being able to use different versions of libraries. But having them as separate packs can help in that programs can share those packs so as a dev you can just target one common base and have your stuff work everywhere. And sharing those runtimes has the benefit of someone else keeping it up to date while you can just test if the updated version works for you and switch to that if it does and so on. And with deduplication, runtimes and stuff share the parts that are common to both afaik.
It’s a bit more complicated than just shoving everything in but also it’s less work than same thing having to be packaged separately for every distro.
There was a perfectly good user interface for updates. Then Ubuntu decides “wait… What if we made updates compulsory and effectively random and skipped the UI. The user can do system updates whenever they want, because those don’t matter for security or something, but these apps must be updated whenever snap determines they must.”
deleted by creator
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.
The thing with appimages is that they expect the developer to have full knowledge of what libraries need to be bundled with their app, which makes it difficult to make truly universal appimages. In flatpak you just select one of a set list of runtimes and add any additional dependencies on top of it. Flatpak also re-uses the files for each runtime in between the different apps that use it, which saves a lot of disk space.
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.
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.
It uses bubblewrap for sandboxing under the hood, right?
I’m not too familiar with whatever Android is doing with apks these days tbh. I just don’t like how AppImages fails at the one thing it should do (universality) and doesn’t have the repo model built in. You can have third party solutions to that but it’s just not the same experience.
I’ve heard people suggest such a solution. Everything is a container and stuff is just exported out so that it shows up to the system like a normal program. Can’t really say I’m the right person to judge the pros and cons.
It can be both good and bad and sometimes it’s necessary. The whole system relies on being able to use different versions of libraries. But having them as separate packs can help in that programs can share those packs so as a dev you can just target one common base and have your stuff work everywhere. And sharing those runtimes has the benefit of someone else keeping it up to date while you can just test if the updated version works for you and switch to that if it does and so on. And with deduplication, runtimes and stuff share the parts that are common to both afaik.
It’s a bit more complicated than just shoving everything in but also it’s less work than same thing having to be packaged separately for every distro.
deleted by creator
Auto-updates are a hell-no for me.
There was a perfectly good user interface for updates. Then Ubuntu decides “wait… What if we made updates compulsory and effectively random and skipped the UI. The user can do system updates whenever they want, because those don’t matter for security or something, but these apps must be updated whenever snap determines they must.”
Oh, snap!
I used to use flatpak for everything, but I just dont have the hard drive space to store duplicates of my graphics drivers.
Oh come on, mesa is only (checks) 112 megabytes!
you know what, carry on!
Last I recall, my drivers for Flatpak took up an extra 20 gigs of my 256 gig hard drive.
at 112 megabytes per instance that amounts to about 178 flatpaks. Which sounds pretty standard