AppImageLauncher
Helper application for Linux distributions serving as a kind of "entry point" for running and integrating AppImages
Top Related Projects
Package desktop applications as AppImages that run on common Linux-based operating systems, such as RHEL, CentOS, openSUSE, SLED, Ubuntu, Fedora, debian and derivatives. Join #AppImage on irc.libera.chat
Quick Overview
AppImageLauncher is a helper application designed to integrate AppImages seamlessly into the Linux desktop environment. It allows users to easily manage, run, and integrate AppImage applications without manual intervention, providing a more user-friendly experience for AppImage usage on Linux systems.
Pros
- Simplifies the process of running and integrating AppImage applications
- Automatically creates desktop integration for AppImages
- Provides a centralized management system for AppImage applications
- Improves the user experience for non-technical Linux users
Cons
- May not be necessary for advanced Linux users who prefer manual control
- Adds an extra layer between the user and the AppImage, which some users might find unnecessary
- Limited to AppImage format, not applicable to other package formats
- Requires initial setup and installation, which might be a barrier for some users
Getting Started
To get started with AppImageLauncher, follow these steps:
-
Download the appropriate package for your Linux distribution from the releases page.
-
Install the package using your distribution's package manager. For example, on Ubuntu or Debian-based systems:
sudo dpkg -i appimagelauncher_*.deb
-
Once installed, AppImageLauncher will automatically integrate with your system. To use it, simply double-click on an AppImage file, and AppImageLauncher will prompt you to integrate it into your system.
-
To manage your AppImages, use the AppImageLauncher application or the command-line interface:
AppImageLauncher
For more detailed instructions and advanced usage, refer to the official documentation.
Competitor Comparisons
Package desktop applications as AppImages that run on common Linux-based operating systems, such as RHEL, CentOS, openSUSE, SLED, Ubuntu, Fedora, debian and derivatives. Join #AppImage on irc.libera.chat
Pros of AppImageKit
- More comprehensive toolkit for creating and managing AppImages
- Provides tools for developers to package applications as AppImages
- Offers a wider range of features for AppImage creation and manipulation
Cons of AppImageKit
- Steeper learning curve for users and developers
- Requires more manual configuration and setup
- Less focused on end-user experience for running AppImages
Code Comparison
AppImageKit (example of creating an AppImage):
./appimagetool-x86_64.AppImage path/to/AppDir output.AppImage
AppImageLauncher (example of integrating an AppImage):
AppImageLauncher path/to/application.AppImage
Key Differences
- AppImageKit is primarily for developers creating AppImages
- AppImageLauncher focuses on end-users running AppImages
- AppImageKit offers more flexibility but requires more technical knowledge
- AppImageLauncher provides a simpler, more user-friendly experience
Use Cases
- Use AppImageKit when developing and packaging applications as AppImages
- Choose AppImageLauncher for easy integration and management of AppImages on user systems
Community and Support
- Both projects have active communities and regular updates
- AppImageKit has more contributors due to its broader scope
- AppImageLauncher has a more focused user base and development team
Convert designs to code with AI
Introducing Visual Copilot: A new AI model to turn Figma designs to high quality code using your components.
Try Visual CopilotREADME
AppImageLauncher
makes your Linux desktop AppImage readyâ¢
Integrate AppImages to your application launcher with one click, and manage, update and remove them from there. Double-click AppImages to open them, without having to make them executable first.
AppImageLauncher plays well with other applications managing AppImages, for example app stores. However, it doesn't depend on any of those, and can run completely standalone.
:smiley: Info on how to install and use AppImageLauncher on the wiki.
AppImageLauncher is a novel and unique solution of integrating with the system. It intercepts all attempts to open an AppImage to provide its integration features.
Being the launcher for AppImages, AppImageLauncher can control how the system treats AppImages. It integrates them into the system, provides helpers for updating or removing AppImages, and a lot more.
On their first execution (i.e., if they have not been integrated yet), it displays a dialog prompting the user whether to run the AppImage once, or move it to a predefined location and adding it to the application menus, launchers, etc.
Features
AppImage desktop integration
This core feature allows you to integrate AppImages you download into your application menu or launcher, to make it easier for you to launch them. It also takes care of moving them into a central location, where you can find them later. Furthermore, it sets up the update and removal entries in the launcher for you.
AppImages use the term "desktop integration", as they're not "installed" in the traditional sense. They remain single, self-contained executable files. AppImageLauncher and other tools extract and patch the desktop entry as well as the related icons into the relevant locations. More information on desktop integration can be found in the AppImage docs.
Update management
After desktop integration, the context menu of the AppImage's entry in the application launcher will have an "Update" entry that launches a little helper tool to apply updates.
Remove AppImages from system
Click the "Remove" entry in the context menu in the application launcher and the removal tool will ask you to confirm. If you choose to do so, the desktop integration is undone, and the file is removed from your system.
CLI
The packages ship with a CLI tool called ail-cli
, providing basic operations in the terminal, for automation in scripts etc. As of February 2020, only integration and unintegration are supported. More features planned!
Differences between regular and Lite version
From version 1.4.0, there's a Lite edition of AppImageLauncher.
It provides all of AppImageLauncher you can get without having root access to your computer. AppImageLauncher Lite is shipped as an AppImage, which can be installed by users from the command-line.
Enter ./appimagelauncher-lite...AppImage install
. in a terminal, and it integrates itself in the users' home directory.
Traditional packages are highly recommended if possible, as they provide many more features and provide a much better overall experience.
Note: if you're interested in a GUI installer, please consider sending a pull request. More information in #243.
About
Currently, desktop environments consider executables a security risk, and would rather have users use the app stores they include.
The ability to easily run them, however, isn't all that's needed to provide a good AppImage desktop experience. Making them accessible from the application menus and launchers is a level of "desktop integration" that can't be provided by the AppImages themselves properly (even though some AppImages ship with a "desktop integration script" prompting the user to do so). There are too many impliciations requiring external software, especially regarding cleanup and removal of AppImages. (If applications are simply made executable, they're still spread all over the users' personal files and folders.) The average user will not find a "Downloads" directory full of AppImages with cryptic filenames friendly.
Therefore, system-side ways have been developed to perform the desktop integration.
One of the first solutions was appimaged, a daemon users could install to perform everything automagically in the background, without notifying the user in any way.
It scans a predefined set of directories including ~/Downloads
and ~/.bin
, making recognized AppImages executable and then performing the desktop integration. Those operations and monitoring produced a lot of file I/O, so were rather inefficent. Also, many users don't like the lack of control. The approach also opens attack vectors and thus can be considered a security hazard, as a vulnerability discovered in appimaged recently has shown.
As seen in
:movie_camera: Tutorials:
:sound: Podcasts:
:page_facing_up: Articles
- Linux Uprising (English)
- Linux-OS.net (Spanish)
- Same article also available here.
- Edvaldo Brito (Portuguese)
- przystajnik (Polish)
- Linux Mint Magyar Közösség (Hungarian)
- FreeYourDesktop (English)
- Please note that AppImageLauncher could not be "installed" via AppImage at that time, only recently was a Lite version added, that now can be installed from an AppImage (more info to follow.)
- Pardus forum (Turkish)
- Linux Team Vietnam (Vietnamese)
- Contains a few wrong assumptions: as soon as AppImageLauncher is installed, you do not have to make AppImages executable, you can just double-click them (or otherwise open them, e.g., from your file- or web-browsers' downloads).
- RealLinuxUser (English)
- manjaro.site (English)
- CubicleNate's Techpad (English)
- See also: CubicleNate's Techpad
- CHRIS R MILLER (English)
- doLys Forum (French)
- LINUXUSER (Greek)
Installation
System-wide Installation
AppImageLauncher integrates deeply into the system. Therefore, an installation via native system packages is the preferred way to install AppImageLauncher. This way, AppImageLauncher's package can perform the necessary steps to have your system use it for all AppImage invocations.
Compatibility table (likely incomplete.) Please, feel free to open PRs to add distributions.
Release filename | Build system | Compatible distributions (incomplete) |
---|---|---|
appimagelauncher-<version>.xenial_(amd64,i386).deb | Ubuntu Xenial | Ubuntu Xenial (16.04), Debian Stretch (9), Netrunner 17.01 |
appimagelauncher-<version>.bionic_(amd64,i386).deb | Ubuntu Bionic | Ubuntu Bionic (18.04), Ubuntu Disco (19.04), Ubuntu Eoan (19.10) and newer, Debian buster (10) and newer, Netrunner 19.01, 19.08 and newer, LMDE 6 "Faye" |
appimagelauncher-<version>.disco_(amd64,i386).deb | ||
appimagelauncher-<version>.eoan_(amd64,i386).deb | ||
appimagelauncher-<version>.buster_(amd64,i386).deb | ||
appimagelauncher-<version>.(i386,x86_64).rpm | Ubuntu Xenial | openSUSE Leap 42 and newer, possibly openSUSE Tumbleweed, SUSE Enterprise Linux, RHEL 7, CentOS 7 |
- Ubuntu Trusty (14.04) and newer
- Important: Ubuntu Bionic (and newer) broke with the backwards compatibility of its
libcurl
packages, therefore users of these systems need to install the specialbionic
package
- Important: Ubuntu Bionic (and newer) broke with the backwards compatibility of its
- Debian stable (Jessie, 8) and newer
- Netrunner 17 and newer
- openSUSE Leap 42 and newer
- openSUSE Tumbleweed
The installation of packages on systems with a set of packages similar to one of the listed ones (e.g., Linux Mint, Fedora, etc.) should work as well.
Note: For Ubuntu 19.04 and newer as well as derivatives, there's two PPAs (personal package archives) available providing a simple way to install and update AppImageLauncher (thanks Peter Jonas for creating and maintaining them):
- stable (provides all releases): https://launchpad.net/~appimagelauncher-team/+archive/ubuntu/stable
- daily (latest and greatest but possibly unstable): https://launchpad.net/~appimagelauncher-team/+archive/ubuntu/daily
Manjaro and Netrunner Rolling users can install AppImageLauncher with a distribution-provided package called appimagelauncher
.
Arch Linux, Manjaro, Antergos and Netrunner Rolling users can use AUR to install AppImageLauncher by installing appimagelauncher or appimagelauncher-git (possibly broken, see #574) (thanks @NuLogicSystems for setting up the build).
Other systems derived from the listed ones, such as for instance Linux Mint (Ubuntu), should support AppImageLauncher as well. If they don't, please don't hesitate to create an issue.
Note: Feel free to request support for other distributions by opening an issue.
Build from source
Build instructions in BUILD.md.
Background
Technical details about how AppImageLauncher registers itself on this wiki page.
Top Related Projects
Package desktop applications as AppImages that run on common Linux-based operating systems, such as RHEL, CentOS, openSUSE, SLED, Ubuntu, Fedora, debian and derivatives. Join #AppImage on irc.libera.chat
Convert designs to code with AI
Introducing Visual Copilot: A new AI model to turn Figma designs to high quality code using your components.
Try Visual Copilot