In addition to snaps and flatpaks, another universal, cross-distro package format is AppImage. Like the others, this also bundles all the runtime libraries, so they are vastly larger than a native package.
Most AppImages are only available in 64-bit format, and using them involves the following steps:
- Download the AppImage that you want
- Make it executable (right-click it and choose Properties/Permissions)
- Left-click it to launch.
Many Appimages will ask to add themselves to the menu at this time, but if they don’t, they can also be added later with the menu editor.
It is also possible to “debianize” an Appimage for the MX repository if we can’t build it natively, but usually we look to see if it adds some tweaks for the program that only our packaging can provide. In that case, we will add “-appimage” to the package name and have it remove the older, native version.
Create a hidden folder called ‘.apps’ in /home/username (no quotes), put the appImages in folders here, setting their permissions to executable.
The folders contain the image and an icon (png format, 32x32px) for the app. Most appImages have an icon but if there is no icon present you can make one and put it in there as shown.
Create a launcher in /home/username/.local/share/applications with the following content, using Krita as an example:
Comment[en_US]=image creation/editing (KDE appimage)
Comment=image creation/editing (KDE appimage)
The Comment above includes the fact that it’s an appImage, so you can keep track of which apps on your system are appImages. If that is not important to you, simply remove the relevant portion from the comment.
Save this file as Krita.desktop and log out and in for the entry to show. Adjust entries as needed with other appImages or when there are updates to them.
To remove the appImage remove the above .desktop entry and the appImage entry in /home/username/.config
If you have more than one distro on your computer and utilize a shared data partition, you can place your appImages in a folder in the shared partition so that all other distros on your system can use the same appImage, and you don’t have to save a copy of the same appImage in each distro.
For example, if the appImages are located on the partition called /media/Data in the folder Appimages, you then adjust the exec line to be:
You will still need to save the .desktop file in /home/username/.local/share/applications for each distro that wishes to use that appImage.
Sometimes appimages appear not to work. This may be due to packages that are not included because they have been *excluded* by the developers. The changing list of what is being excluded can be found here:
If you can determine the missing expected library, it will probably be something easily installable from Debian Stretch repository.