Skip navigation
"AppImage" spelled out in front of code Alamy

How to Use AppImage in Linux

This tutorial discusses what AppImage is and how you can use it to run a Linux application across all Linux distributions.

In this tutorial video, AppImage expert Chris Tozzi demonstrates how to use AppImage, an open source tool for running Linux applications in a consistent way across all Linux distributions, regardless of how they are configured or which applications users want to run.

The tutorial explains what AppImage is, how to use it, its benefits, and its downsides.

The below transcript is lightly edited for length and clarity.

Chris Tozzi: Hey folks, this is Chris Tozzi with ITPro Today, and I'm here to talk to you about AppImage. In this video, we're going to talk about what AppImage is, why you might want to use it, and how you can get started using it.

What Is AppImage?

AppImage is a cool tool for Linux that lets developers package applications in such a way that they can be run on any Linux distribution, no matter how it's configured. And that's a big deal because if you use Linux, you know that one of the challenges Linux users face is that there are a bunch of different Linux distributions, and traditionally, each one has used its own tools for managing software.

What that means in practice is that if you use Ubuntu and you want to install an application, you have to find an application package that's built for Ubuntu or at least for distributions that use Debian packages and you have to install it using a tool called APT. Whereas on Red Hat, you have a different set of tools, you have RPM packages, and DNF is the package management software on Red Hat.

Related: Why and How to Use AppImage on Ubuntu

AppImage solves this problem because with AppImage, developers can package an application one time and that application will run on any Linux distribution. That makes the lives of users easier because they don't have to download or find a package tailored for their system.

AppImage also makes the lives of software developers easier because it means they only have to package their software one time in order to give it to Linux users.

Other benefits of AppImage include the fact that with AppImage, everything that an application needs to run is packaged into a single file. That means that you don't need to install dependencies or make sure that certain libraries are present on your system, for example, in order to run an application. Instead with AppImage, you literally just download one file, you run it, and that's it.

That also means, by the way, that clean-up or uninstalling an application is really simple, because unlike traditional packages, which get installed into your file system and leave bits and pieces, usually in lots of different places, with an AppImage, there's just one file and if you want to remove it, you can just delete that one single file and the application is gone forever from your system. So that just helps to keep things cleaner from a software management perspective.

How to Use AppImage

So that's an overview of what AppImage is and why you might want to use it. Let's now take a look at how you actually use it. It's really simple. The only thing you need to use AppImage is an AppImage file. And an AppImage file is the file that contains your application.  You don't need to install any AppImage software to your computer — that's one of the cool things about AppImage — because an AppImage file is just an executable file that will run on any Linux system. So you don't need to install AppImage itself. Instead, you just need to download an AppImage file, which is sometimes called AppImage, for short.

I'm going to demonstrate this by downloading a file for this simple calculator utility called eCalc. And by the way, I found this on GitHub. This GitHub URL has a large catalog of AppImages that you can download for free. There's also a website called AppImageHub, where you can also find a bunch of AppImages. These are two go-to places if you're searching for an AppImage for the app you want to run, although you can also sometimes find AppImages on various websites where developers might post software or sometimes on various personal GitHub repositories where people post AppImages as well.

Related: AppImage vs. Snap: How to Choose the Right Linux Software Packaging Tool

So let's look at how to actually run an AppImage. I'm not going to download eCalc live because it takes just a little bit to download. It's a large file, but if you wanted to, you would just click the download link and it would download. Once you've downloaded it, all you have to do is open up the folder that contains your eCalc file, or whatever your AppImage file is. I'm going to do that through the command line. Actually, I will do it in the file browser just to keep things simple and show you what it would look like to do this in practice. I stored the file that I downloaded in this directory. And again, this is my AppImage file. I downloaded it from GitHub.

If I want to run this, the only thing I have to do is ... the only prerequisite is that I have to click Properties and make sure that the file is executable. By default, most Linux distribution files that you download from the internet are not going to be executable. So you have to make sure that you manually add executable permissions to your AppImage file. Here you can see that I'm doing this through Ubuntu's file browser by clicking the Permissions tab. You can also do that through the command line. If you wanted to, you could navigate to the location of your AppImage file and use the chmod command to give it executable operations. This command here says, "add executable permissions to this file." Again, the file already had it, but there's no harm in telling chmod to give it executable permissions again.

Once the file is executable, to run it the only thing you have to do is right-click on it and click Run, and then the app starts. Again, it's beautifully simple.

If I wanted to go ahead and download other AppImage files and run them, I could do that in exactly the same way. I can use multiple AppImages. I could have multiple apps running at once. It's not like you can only use one AppImage app at once. You could run a whole bunch at the same time if you want.

Again, if I wanted to remove my AppImage, all I would have to do is delete this file. I'll just go ahead and do it because I can always restore it. I'm going to delete it, and now that that app is gone forever, there's nothing left behind. So it's nice and clean and simple.

So from a user perspective, AppImage is really user-friendly. From a developer perspective, it's pretty easy to use as well. I'm not going to get into how to package an AppImage or how to create an AppImage file in this video, but it's pretty straightforward.

The Downsides of AppImage

I will talk a little bit just in conclusion about some of the downsides of AppImage. One is that with AppImage, there's no central way to manage your applications. You have to keep track of where all of the individual files are. So that can become a bit of a hassle, although there are special tools available to help with that. The most prominent of them is called AppImageLauncher. AppImageLauncher automatically keeps track of your AppImages and lets you launch them in a centralized way, which is cool.

Related: AppImage Launcher Guide

Another challenge with AppImages is that there's no way to automatically update all of them, which makes AppImage different from a tool like APT on Ubuntu, which can be configured to automatically update packages when new versions become available. AppImage doesn't automatically check whether a new application version is available. You would have to manually check and download an updated AppImage file if you wanted to update the application. That said, tools like AppImageLauncher can also help you with that process because they can automatically check for updates in certain cases.

And that is AppImage in a nutshell. Again, it saves you time as a Linux user or, if you're a Linux developer, it also saves you time because you can build your application once and your users can run it on any Linux distribution. So check it out for yourselves if you haven't already.

About the author

Christopher Tozzi headshotChristopher Tozzi is a technology analyst with subject matter expertise in cloud computing, application development, open source software, virtualization, containers and more. He also lectures at a major university in the Albany, New York, area. His book, “For Fun and Profit: A History of the Free and Open Source Software Revolution,” was published by MIT Press.
TAGS: Linux
Hide comments

Comments

  • Allowed HTML tags: <em> <strong> <blockquote> <br> <p>

Plain text

  • No HTML tags allowed.
  • Web page addresses and e-mail addresses turn into links automatically.
  • Lines and paragraphs break automatically.
Publish