How to Use AppImages on Linux: A Beginner’s Guide

The Linux Crash Course series on Learn Linux TV will teach you a valuable Linux-related concept or skill, one video at a time! This time around, Jay details the “AppImage”, a special app format you can download and run immediately.

YouTube player

Linux packaging is a complicated topic for sure, there’s a handful of different ways we can install software on Linux.

The most common method is to use your distribution’s package manager, which is the tried and true approach that we’ve been using for decades.

In addition to that, you can install software from source, or even use a universal package.

Universal packages are a relatively new concept in Linux, the idea is to have software being packaged in a way where the distro doesn’t matter, in such a way you can have one application package that can run on just about any distribution.

This approach basically takes the distro out of the equation, letting the developer only need to worry about creating one thing in order to support the entire Linux community.

However, as I’ve talked about in other videos, we now have three competing standards for the universal package – flatpaks, snap packages, and also appimages – the latter of which we’re going to go over today.

Now if you’re curious about snap packages and flatpaks, I have videos on my channel already that covers those if you’re curious, but today we’re going to focus on app images. I’ll go over what they are, how they work, and also the pros and cons of this technology. Not only that – I’ll give you a full tutorial for how to get started with AppImages on your system.

Problem

So, what is an AppImage?

Like I mentioned earlier, AppImages are a form of universal package. If a piece of software is released as an AppImage, all you need to do is download it, mark it executable and run it. That’s it.

One of the best things about AppImage is that there’s nothing to install first or set up beforehand. And I mean it – other universal application formats require some sort of runtime or engine to be installed first. But with AppImages, you don’t even need that. There’s not even a service that needs to be running.

When you want to upgrade software released as an AppImage, you simply replace the downloaded application with the new one. That’s literally it.

AppImages are so simple, it’s amazing to me that it’s not more popular. That’s not to say that no one uses AppImages, it’s just that the format doesn’t seem to get as much traction as snap packages and flatpaks. But at the same time, there’s no distribution or desktop affiliation so AppImages are literally the most portable application delivery format we have on Linux.

Flatpak & Snap

When compared to flatpak and snap, AppImages do have notable benefits. I already mentioned the fact that these are more portable than its competition. That’s definitely a benefit.

When it comes to snap packages, there’s a central app store of sorts, run by Canonical. Many people see this as a walled garden, but with AppImages there is no wall. Or even a garden for that matter. AppImages are created independently by the developer of the app.

Another benefit is extra portability. I’ve already mentioned that you only need to download an AppImage, mark it executable, and run it. But for a moment just how much power that gives you. For example, you can run them from anywhere on your system, so you can create your own special directory to store them in.

But not only that, if you use a syncing solution like Syncthing, Nextcloud, Google Drive or any of the others, that would be a great place to store AppImages. If you update an existing AppImage within a synced directory, then all of your computers will automatically get the new version.

Downsides

AppImages are a simple, effective format for delivering applications to Linux users, but it’s not without downsides. In fact, there are a few.

One downside when it comes to AppImages is that software discovery is a very notable weakness. For example, you can find snap packages in the official snap store, and flatpaks can also all be found in one place – Flathub. But with AppImages, there’s no central store. In fact, there’s no central anything.

This means that the onus of managing AppImages is 100% on the user. If you want to download an AppImage, you’ll do so from the vendor’s website, not from an app store.

To be fair though, AppImages are managed similarly to how mac users manage their apps. They’ll find an app on the download page of a website, download the application, move it into a folder, and then run it. But that also means that AppImages have the same weaknesses, each app is downloaded from a different place, each app has its own level of desktop integration, it does make AppImages seem inconsistent at times.

In fact, in a recent video where I covered Mac apps for Linux users, I recommended MacUpdater. Sure, it’s not related to Linux, but it’s a good thing for Mac users to have – an application that keeps other applications up to date.

And just like the Mac crowd, AppImages also have a similar solution – AppImageUpdate. Just like solutions such as MacUpdater on the Mac, AppImageUpdate does exactly what its name implies. AppImageUpdate is itself an AppImage, and when run, it’s able to scan AppImages and look for updates. It’s a nifty tool, and highly recommended if you decide to utilize AppImages.

Another downside to AppImages is the inconsitent level of desktop integration. For example, when you download and run an AppImage, there won’t be an icon created for that application in your distro’s application menu. You’ll just have to remember where you saved it, and run it from there.

That said, some AppImages will outright ask you if you want to create a launcher icon for the app the first time you run it. If you say yes, then an icon is created and will be shown along with your other apps. However, the problem here is that not every AppImage offers this, sometimes leaving you to either create a launcher icon yourself or just do without. The reason this is the case is because of the lack of oversight, anyone is able to make an AppImage but no one is forcing developers to offer full desktop integration. Some do, some don’t.

However, there are some work-arounds that make AppImages easy to manage. So, what I’ll do in the next section is walk you through how to use app images, and I’ll also provide three tips for making the whole thing a great deal easier.

  • Ad-free Content
  • Early access to select videos
  • Discord access

And more!