I recently started paying attention to the trend of having Linux applications packaged as a single file. The idea is so simple, distribute the Linux app as a single packaged file which runs everywhere. It is self contained and has all its dependencies within itself. Call it snaps or flatpacks or app images, all of it refers to the same thing.
Of the above names, I found AppImages to be the most user friendly approach. All you need to do is download the file, make it executable and just run it! No installation required.
chmod a+x Sample.AppImage
./Sample.AppImage
On the home page https://appimage.org/ there is a testimonial by none other than Linus Torvalds who says “This is just very cool.” Pardon me if I used that verbatim as a title for this post. But such a comment coming from Linus himself talks volumes of how simple and intuitive this idea is.
There are several resources available online which list appimages for various applications and the files are available for download. You can simply download them in one location and get on with your work without any hassles of intsallation, missing dependencies, version upgrades etc.
For better integration with application menu, it would help to add a .desktop file to ~/.local/share/applications. Here is a sample desktop file for the Etcher appimage I am using on my machine.
[Desktop Entry]
Type=Application
Encoding=UTF-8
Name=Etcher
Comment=Etcher Appimage
Exec=/home/user/Apps/Etcher.AppImage
Icon=/home/user/Apps/Etcher-icon.png
Terminal=false
This allows easy option to launch the application rather than running the app image from command prompt.
So far I have downloaded following app images and using them on regular basis.
- Etcher – App to flash OS images to usb drives
- Krita – Open source painting program
- SimpleNote – Easy note taking application supporting markdown and having sync ability with Android
- OnlyOffice – Free alternative to LibreOffice
AppImages is definitely a new way to run apps on linux. Since each app file contains its dependencies, it does not need to rely on installed libraries and runs flawlessly. Upgrades are also painless and nothing else breaks on the system. Need to uninstall an app, just delete its AppImage. I am beginning to like this approach and plan to use app images more often now. To quote Linus again “This is just very cool”.