If you use Linux, running packages using AppImage is a great way to simplify software management. Unlike other package managers on Linux, AppImage enables a consistent software deployment process, regardless of which Linux distribution you use. Here’s a primer on how to install AppImage packages on Linux--actually, I should have put quotation marks around install because, technically, AppImage packages don’t get installed at all--and why you would want to do it.
What Is AppImage?
For years, installing software on Linux was something of a headache, especially for folks new to the world of open source operating systems. Different Linux distributions used different tools for building and installing packages. This meant not only that developers had to build multiple packages for different Linux-based operating systems, but also that end users could easily become confused about which packages they were supposed to use and how to install them. The fact that many distributions offered multiple ways to install software only added to the confusion. (On Ubuntu, for example, you could use apt-get on the command line, or dpkg, or gdebi, or the Software Center.)
Then, AppImage (formerly known as klik and PortableLinuxApps) came along with the promise of simplifying the world of Linux software installation. With AppImage, the same exact application packages can run on any major Linux distribution without any special tools, making the lives of developers and end users alike considerably easier.
As noted above, AppImage doesn’t actually install packages to your system in the traditional sense. It simply allows you to download and run packages, without having to modify system directories, libraries and so on. In this sense, AppImage packages are somewhat comparable to containers, although AppImage is tailored toward Linux desktop systems more than servers (which are the focus of container platforms like Docker).
How to Instal;l AppImage: Pros and Cons
On Linux desktops, AppImage offers several key benefits:
- Portability: The same application package can be downloaded and run on virtually any Linux distribution.
- No root permissions: You don’t need root permissions to run AppImage packages, as you would when using most other Linux software installation methods.
- Minimal risk: AppImage applications run in read-only mode, which minimizes the risk that they’ll cause a problem for your system.
- Easy uninstall: Because AppImage packages do not make any permanent changes to your system, they can be removed cleanly. If you want to remove an AppImage app, simply delete the file and it’s gone forever. Software installed via traditional package managers can’t always be removed so neatly; it sometimes leaves behind files or dependencies after you uninstall it.
On the other hand, AppImage has some drawbacks:
- No automatic updates: Unlike most traditional package managers for Linux, AppImage doesn’t automatically update applications when a new version becomes available. You’ll need to update them manually.
- Not all Linux apps are supported: Although AppImage packages exist for most popular Linux software (like GIMP and Firefox), it can be harder to find packages for more obscure programs.
- User data is not portable: Although you can easily move an AppImage package from one Linux system to another, any files that you create or modify on one system using an AppImage app won’t move with the app by default. So, for example, if you run GIMP using AppImage, create some images with it and then move your AppImage file to a different system, your GIMP images will remain on the first system unless you move them manually. If you are comfortable with the command line, you can work around this limitation using the export variable, but that requires some extra steps and expertise.
- Inefficient use of shared files and libraries: Because AppImage packages are designed to run in standalone fashion without using any external resources, each package requires its own copy of libraries. This is not efficient because it leads to redundant copies of libraries that could otherwise be shared by multiple apps on the same system.
For most users, AppImage isn’t a wholesale replacement for traditional Linux package managers, like apt and snap on Ubuntu and dnf on Red Hat Enterprise Linux. Instead, it’s a handy tool that complements those “native” package managers. If you want to install an application without the hassle of connecting to a repository (which is typically necessary when using a conventional package manager), or you want to test an application without installing it to your system permanently, AppImage is a handy solution. For most core software management tasks, however, your traditional package manager is a better tool.
Using AppImage on Linux
Downloading and running Linux software via AppImage is beautifully simple. You don’t need to download or install any special software for AppImage itself. All you need is an AppImage file.
Download an AppImage file
The first step in using AppImage is to download the AppImage file for whichever application you want to run. This is as simple as downloading any other type of file: Find a website with the file you want, click the download link in your Web browser, and save it to the location of your choice.
You can find free AppImage files for a variety of popular apps on the AppImage Hub. For the purposes of this tutorial, I’m downloading the AppImage for ecalc, a simple calculator app.
Make the file executable
After downloading the file, you’ll need to make it executable. On most Linux distributions (I’m using Ubuntu 18.04 in this example), you can do this by right-clicking on the file and selecting “Properties” (or whichever similar option your system gives you). A dialog box will open. Navigate to the “Permissions” tab and check the box to make the file executable.
Alternatively, you can make the file executable on the command line with a command like:
chmod +x YourFile.AppImage
Run the AppImage file
Finally, after making the AppImage file executable, simply run it by double-clicking on it in your file browser (on some systems, you may instead need to right-click and select “Run”), or typing a command like the following in your terminal:
The application will launch just like any other:
Creating an AppImage launcher
For convenience, you can create a launcher or short cut for an AppImage package. The process for doing so will vary depending on which desktop environment you’re running. You may have an option for creating a shortcut by right-clicking on the AppImage file. Or, you may be able to drag and drop the file into your application launcher or menu in order to create a shortcut.
Deleting an AppImage app
Again, if you want to delete an application you’ve downloaded via AppImage, you simply delete the file from your system (or move it to the trash and then empty the trash, if you don’t want to delete it directly).
You don’t need to use a package manager or a special application (like Ubuntu’s Software Center) to remove an AppImage app. (In fact, you can’t use those tools because they don’t support AppImage.)
AppImage is a convenient way to download and run popular Linux applications without the hassle of traditional Linux package managers. It’s not the right solution for every situation, but it’s worth exploring if you need a fast and simple way to run an application.