This ASCIInema recording features as the main star: AppImage. A li’l side-kick role is left to play for Microsoft PowerShell. — Naah, just kidding. Actually they both co-star together :-)
[If it runs too fast for you, stop it or scroll back. You can also copy’n’paste interesting stuff from it.]
AppImage is a software packaging and distribution model for Linux which is more than 10 years in the making, but gained more and more traction in recent years.
Even Microsoft developers make use of it to package PowerShell for Linux, but why? Because it allows them to provide 1 file (the AppImage), which can be made executable and then runs un-changed on numerous Linux distributions, old and new. A truly portable packaging format!
An AppImage has the following advantages:
-
Directly runs on all major Linux distributions.
-
Directly runs from any location (even USB thumbdrives).
-
No need to be root.
-
You can run different versions of the same software side-by-side.
-
No need to “install”. Just run the AppImage.
-
An AppImage is a single file.
The central idea of AppImage is: "1 application == 1 file"
. While the AppImage website may make you think that this supports GUI / Desktop applications only, this in fact is not the case. As the PowerShell example shows well enough, AppImages also work for command line (CLI) applications.
A recent feature addition to AppImage is that you can now even make it "1 file == multiple applications"
. But that’s for a future ASCIInema recording…
If you want to run more AppImages, you should install and allow an extra little daemon (appimaged
) to run on your system which will auto-discover downloaded AppImages and auto-integrate them into your Desktop environment menus, so running them will be even more convenient. However, this is completely optional.
If you want to follow the AppImage development, here are the main resources:
P.S.: Linus Torvalds is most famous as the creator of Linux and Git. He is less famous for being the developer of a Desktop / GUI app. But he has one: Subsurface (it is an app for divers to evaluate their diving logs). Even Linus thinks, for his very own Desktop application to run on the very OS he (co-)created that AppImage is THE package format which causes the least hassle for him as the maintainer: “This is just very cool.”. That’s why the Linux creator’s only desktop application is available as a binary in the format of AppImage only. He and his release managers are even one of the early adopters of the semi-automatic AppImageUpdate mechanisms via zsync2, which saves a lot of time, bandwidth and thinking for users.