Appimage for me ticks all the boxes for cross distro package as its very portable, simple to run, what are devs trying to do when creating snaps and flatpack?
Appimages do not have repositories, unlike Flatpaks and Snaps. It’s harder to install or update them since there isn’t a package manager for the Appimages.
I don’t know about Snaps, but Flatpaks are sandboxed, which basically means more security, since apps won’t get access to your system without permission. It’s kind of like Android where apps have to ask for permission to things like camera access, filesystem access, etc.
While I do use Appimages, they remind me of Windows and having to go to websites to download stuff.
Personally, I prefer just installing software with my distro’s package manager and resort to Flatpaks or Appimages when it’s not available in the repos.
Flatpaks have the concept of runtimes; instead of downloading the entire qt tooling for a qt app the app could just use the KDE runtime same goes for GTK with the Gnome runtime. Flatpaks also have dependencies which can be shared between multiple apps even when they are not part of their runtimes, they are called “baseapps”. Flatpak apps still use double the space my normal apps take on a fresh install, so I assume using appimages to replace them will leave no space on my SSD.
Before deciding to settle on using Flatpak I tried to search for appimage permissions and how to set them, but it seems there is no such thing? If that’s true then there’s another advantage for Flatpaks and Snaps.
Also with all due respect: Flatpak and Snap tooling are not maintained by Probonodb.
What do you mean by AppImage permissions? A sandboxing feature like “access only those directories, those /dev devices, …”
EDIT: obviously this isn’t just for AppImage, but I tested it with AppImage and it work well. Another tip: if you want a package manager for managing AppImage installations try zap (https://github.com/srevinsaju/zap)
In that case, take a look at bubblejail. (https://github.com/igo95862/bubblejail)
The best of them all, αcτµαlly pδrταblε εxεcµταblε.
Build once, run natively on literally any PC OS including Windows and MacOS!
Interesting read, love stuff like this but it seems they’d be a lot of dev overhead to truly make something large and agnostic but still gotta commend it!
openSUSE’s Richard Brown has given multiple talks over the years comparing these three. I’d suggest anyone to look at those for a great rundown on how these universal package managers compare to one another. His most recent talk can be found here; in which he actually does some kind of recap as well.
Flatpak works like a package manager but has program isolation as well.
Flatpak provides updates, management tools, an ecosystem of common components that don’t need to be repackaged with every executable, dependency management, cleaning up unused dependencies, warnings when you are using obsolete packages, and so on
what are devs trying to do when creating snaps and flatpack?
Appimages are great for what they do. They’d be even better if we had convenient means of distribution. It’s easy for an intermediate-to-advanced user to go find the thing on some website, download it then
chmod +x
it.A regular user, in contrast, finds comfort in centralized software repositories, where you only have to enter an app’s name and click install. Gnome and KDE, with the help of Appstream, provide Flatpaks for your convenience through Software and Discover, respectively.
It’s worth mentioning that Alexander Larsson (Flatpak) took some inspiration from Simon Peter’s (Appimage) klik when he was developing the precursor to xdg-apps and Flatpak, glick… What a mouthful :) Cheers!
Can confirm. I like Flathub.
My problem with all three is that trust, security, quality comes from package to package. There is no standard, and packages are isolated from each other. If there is an issue between multiple apps, developers just start pointing at each other. With distro like opensuse I know everything is tested properly including security bug coverage and package interoperability. I can even check it myself at openqa.opensuse.org
With flatpaks I am at mercy of each developer not being lazy and well informed about all current issues.
deleted by creator
I think AppImages suck as well, but this is not a reason for my dislike. A simple script that you can run on startup will fix that problem.
deleted by creator
You realize your computer won’t work without scripts, don’t you? And if you want your computer to do something it doesn’t do on its own, a simple script will make it do what you want. If that is your definition of sucking, then you need to go back to Windows, which is also loaded with scripts, by the way, so that sucks too.
deleted by creator
Use appimagelauncher Application that will add appimages to application menu
Use Gear Lever.
deleted by creator
Care to elaborate?
deleted by creator
Good talk
I like appimages because I can install them where I want and you can just make a symlink in the bin folder.
deleted by creator
I hate all three. Why do we need to the same dependencies in a thousand different places? There’s gotta be something better between typical software repos and these stupid packed applications.
Flatpaks work by using a shared runtime, you don’t have the same dependencies in a thousand different places
debian repos are ok w/o using all this shit
I still prefer to run everything built directly from reliable deb sources.
As an end user… sure, flatpaks and appimages and snaps are I guess neat if you are constantly distro hopping or something, at least in theory.
But uh, I have already found the ability to play games, develop games and other software, use basic daily software for everyday needs, and have a stable and predictable OS that doesnt crash or have insane misconfigurations caused by some esoteric conflict by just basing everything directly off of deb sources.
Every once in a while I will have to compile my own build, but this is rare and usually only occurs when trying out something experimental, or, also rare, something that doesnt have an actively and well maintained deb source. In that case its just a matter of doing a build from github when a new version comes out.
And I can do builds from github because I have saved a lot of storage space from not using bundled installers for all my software, allowing me to store the sources. This is also neat because it allows me to quickly /use/ one of those sources in a project, after I have already seen that it is stable via the software I use that is built on it.
Finally there is the security angle. Using a myriad of different containerized installers for everything is convenient in that you don’t have to directly worry about source management… until you do, when a source lib is discovered to have a critical flaw.
When a serious flaw is found in a source library… what’s gonna get updated faster? A containerized installer that you have to wait for the devs, who are busy managing tons of cross platform dependency issues and have to do a new safe stable build everytime any of their many dependencies for their many supported platforms? Or an app specifically built from source libs that either doesnt focus on cross platform, or has different teams specific to maintaining its different supported flavors?
In my experience, literally all of the time, the ‘direct from source’ software gets updated more quickly than the cross platform bundled installer.
Further, this whole approach here gives you experience with software that is built on source packages that, as you become more familiar with, and tinker with yourself, gives you insight into what source libs are well coded in terms of cpu/gpu/ram optimization, and which are resource hogs and should be avoided if youre interested in promoting and using software built off of efficient code. I enjoy learning from the good coding techniques of stable, lean and fast programs, and avoiding code that is comparatively unstable, boated, or slow.
A bit of history. The first universal packaging format was snap by Canonical and used to be called Click apps and it was made for the Ubuntu mobile OS and later to the Ubuntu desktop. Red Hat in response to that created the FlatPak format. The AppImages are community effort. As you can see since both snap and FlatPak are developed and supported by a company they are more widely available and easier to search, install and update them. There are multiple tools for AppImages as well, which can search, install an update, however they are not pre installed or can be installed from the repo on most distro. There are dielstros which ship AppImage support by default with App Store for example Nitrux. You can use AppMan or bauh for managing AppImages. The AppMan has command line interface and bauh is a graphical application. Bauh can also manage snap and FlatPak.
IMO Flatpak is the best of them all. I don’t want to bother with repo packages that have complete and unnecessary access to my system. Flatpak neatly installs an app and isolates it, and if I no longer want it I can just easily click “Uninstall” on my Settings app without it leaving a mess or any trace behind, unlike repo packages that manage to screw something as simple as uninstalling itself.
But where to get the AppImages from? Who’s maintaining? How to do Security Vulnerality Tracking for them?
Usually projects on github. Personally I use Appimages for things like Mypaint a digital drawing application, krita and most other KDE applications as to avoid all the dependency’s KDE has in its eco system or at least to put them somewhere easier to manage
https://youtu.be/4WuYGcs0t6I (Richard Brown (FOSDEM 2023): “I was wrong about Flatpak, AppImage, and Snap”)