This brief guide explains what is AppImageLauncher, why we need it, how to install AppImageLauncher in Linux and finally how to integrate AppImages to application menu using AppImageLauncher utility in Linux.
What is AppImageLauncher?
Nowadays, many developers are moving away from platform-specific package formats to platform-agnostic package formats, such as AppImages, FlatPak and Snap. Because there are several Linux distributions exists and developing applications to each Linux distribution is quite a tedious task.
AppImage is one of the popular universal package format. Many popular applications have been released in AppImage format. AppImages are portable files and can run on any Linux system. They are bundled with all necessary dependencies and distributed as a single file. There is no need to install them. Just make a AppImage file executable and run it from command line.
A minor issue with AppImages is they can be launched only from command line. For instance, to launch balenaEtcher, we go to the location where balenaEtcher AppImage file is stored, and then we run:
This is how we launch all AppImages at the moment. Well, not anymore! We can now run and integrate AppImages to the Application menus and launchers in our Linux system using an application called AppImageLauncher.
AppImageLaucher is a helper program that makes it easier to organize and update AppImages on Linux. It allows you to integrate the AppImages to application menus and launchers with a single click. It will also provides helpers to manage, update and remove them from there.
AppImageLauncher will create the desktop entry as well as the related icons into the relevant locations for your AppImages. You don't even have to make the AppImages executable. Simply double click them to open and add them to the menus.
When we launch an AppImage (before it is integrated in the menu), AppImageLauncher will prompt the user whether to add AppImage to Application menus, and move it to a predefined location. By default, it moves the AppImages under
$HOME/Applications directory. You can change this location as you wish.
After integrating the AppImage to menus and launchers, it will create two new entries namely "Update" and "Remove" in the context menu of the AppImage's entry. As the name says, Update entry will allow you to update the AppImage and Remove entry allows to remove the AppImage file.
AppImageLauncher also ships with a command line tool called
ail-cli, which provides basic operations in the terminal, for automation in scripts etc. As of writing this guide, it only allows us to integrate and remove AppImages. More features are also planned for the upcoming versions.
Install AppImageLauncher in Linux
AppImageLauncher is packaged for both DEB-based and RPM-based systems.
There is a PPA available for Ubuntu and its derivatives. To add the PPA and install AppImageLauncher on Debian, Ubuntu, run the following commands one by one:
$ sudo add-apt-repository ppa:appimagelauncher-team/stable
$ sudo apt update
$ sudo apt install appimagelauncher
If you don't want to use PPA, you can download the
.deb packages from the AppImageLauncher releases page and install it like below:
$ sudo dpkg -i appimagelauncher_2.2.0-travis995.0f91801.xenial_amd64.deb
$ sudo apt install -f
To install AppImage on RPM-based systems such as Fedora, just download
.rpm packages and install it like below:
$ sudo rpm -ivh Downloads/appimagelauncher-2.2.0-travis995.0f91801.x86_64.rpm
Verifying… ################################# [100%] Preparing… ################################# [100%] Updating / installing… 1:appimagelauncher-2.2.0-travis995~################################# [100%] Installing AppImageLauncher as interpreter for AppImages insmod /lib/modules/5.11.18-300.fc34.x86_64/kernel/fs/binfmt_misc.ko.xz systemctl restart systemd-binfmt
From version 1.4.0, there is also a Lite edition of AppImageLauncher. It provides all functionalities of regular AppImageLauncher edition without
sudo access to your system. The Lite edition itself is available in AppImage format. You can install it as the way you normally run AppImages like below:
$ ./appimagelauncher-lite-2.2.0-travis995-0f91801-x86_64.AppImage install
This will install AppImageLauncher lite edition in the user's
Integrate AppImages to Application menu using AppImageLauncher in Linux
Launch the AppImage by double clicking it or from command line like below. For the purpose of this guide, I will be using balenaEtcher AppImage.
If the AppImageLauncher is launched for the first time, you will be prompted to configure the central target location to add the AppImages. The default location is
$HOME/Applications. You can change it to other location as you wish. After choosing the central location for the new AppImages, click OK to proceed.
Next you will be asked whether you want to move the AppImage to Central location and integrate it to the application menu (if it is not already added yet). To move your AppImage to the central location and include it in your application launcher, click the "Integrate and run" button.
If you don't want to add the AppImage to application menu, simply click "Run once".
If you have chosen "Integrate and run" option, the AppImageLauncher will move the respective AppImage file to the predefined directory (i.e. $HOME/Applications), create a desktop entry and relevant icon in the locations and add the AppImage to the application menu or launcher.
For now on, you can directly launch the AppImage from Application menu or launcher as the way you normally launch the other applications installed by the default package manager.
If you right click on the AppImage, you will see the Update and Remove entries will appear in the context menu. You can use them to update the AppImage or remove it from the system.
Change central location
As stated already, AppImageLauncher will move all the AppImages to a central target location. By default, the central location is $HOME/Applications. If you want to change this location, open AppImageLauncher settings window from menu or launcher.
Change the location to where to save your AppImages in the AppImageLauncher tab.
The new AppImages will now be stored in the chosen location.
In this guide, we have learned what is AppImageLauncher, how to install it and how to use AppImageLauncher to add AppImages to the application menus or launchers in Linux. If you use a lot of AppImages, you can make use of AppImageLauncher application to neatly organize and manage AppImages in your Linux system.
Nice article. However, the title should read “integrate appimages in Gnome app launcher” as it is the only DE I’ve come across that doesn’t have a tool for doing that ; XFCE, KDE, Mate, Cinnamon, Trinity and probably others have such a tool, and if they don’t, you can install menulibre tool or simply create an appimage.desktop file, place in ~/.local/share/applications, by the way, this method doesn’t even work in Gnome either. For example, in KDE you just have to right-click on menu and select “edit application launcher”, and from there add the appimage; add an icon, set the category, description, adjust the “exec” line, etc. The tool will create the corresponding .desktop file, click on save and voila! The app now appears in the menu in the corresponding category. For this among other reasons is why I don’t like gnome,I use around 20+ appimages. The one thing I find Gnome does right is its Wayland support, it stand out above the rest there, but overall, a very frustrating DE, at least in my experience. I use KDE, by the way. 🙂
The commands do not work on Debian 11. They return:
Err:9 http://ppa.launchpad.net/appimagelauncher-team/stable/ubuntu jammy Release
404 Not Found [IP: 184.108.40.206 80]
E: The repository ‘http://ppa.launchpad.net/appimagelauncher-team/stable/ubuntu jammy Release’ does not have a Release file.
N: Updating from such a repository can’t be done securely, and is therefore disabled by default.
N: See apt-secure(8) manpage for repository creation and user configuration details.
Ubuntu PPAs usually will not work under Debian. Download and use the AppImage file from the releases page. https://github.com/TheAssassin/AppImageLauncher/releases