How To Use AppImage in Linux [Complete Guide]

Brief: This AppImage tutorial shows you how to use AppImage to install software and how to remove the applications it installed.

There are ways to install software in Ubuntu or any other Linux distribution. Downloading .deb or .rpm files and double click on them to install software is one of the most convenient way to that.

Recently, you might have noticed that some applications are downloaded with an extension .appimage. And you may wonder what are these .appimage files.

In this tutorial I’ll show you what is an AppImage and how to use AppImage to install applications in Linux. In addition to that, I’ll also tell you a few things that you should keep in mind while using AppImage.

A. What is AppImage?

Using AppImage in Linux

For years, we have DEB packages for Debian/Ubuntu based Linux distributions and RPM for Fedora/SUSE based Linux distributions.

While these packages provide a convenient way of installing software to their respective distribution users, it is not the most convenient for the application developer. The developers have to create multiple packages for multiple distributions. This is where AppImage comes into picture.

AppImage is a universal software package format. By packaging the software in AppImage, the developer provides just one file ‘to rule them all’. End user, i.e. you, can use it in most (if not all) modern Linux distributions

AppImage doesn’t install software in the traditional way

A typical Linux software will create files at various places, requiring root permission to make these changes to the system.

AppImage doesn’t do it. In fact, AppImage doesn’t really install the software. It is a compressed image with all the dependencies and libraries needed to run the desired software.

You execute the AppImage file, you run the software. There is no extraction, no installation. You delete the AppImage file, the software is removed (we’ll see about it later). You can compare it to .exe files in Windows that allow you to run the software without actually going through the installation procedure.

Let me list some of the features or benefits of AppImage.

AppImage features

  • Distribution agnostic: Can run on various different Linux distributions
  • No need of installing and compiling software: Just click and play
  • No need of root permission: System files are not touched
  • Portability: Can be run anywhere including live disks
  • Apps are in read only mode
  • Software are removed just by deleting the AppImage file
  • Applications packaged in AppImage are not sandboxed by default.

B. How to use AppImage in Linux

Using AppImage is fairly simple. It is done in these 3 simple steps:

  • Download AppImage file
  • Make it executable
  • Run it

Don’t worry, I’ll show you how to run AppImage in details. I am using Ubuntu 16.04 in this AppImage tutorial but you can use the same steps on other Linux distributions as well. After all, the entire point of AppImage is to be independent of the distributions.

Step 1: Download .appimage package

There are plenty of software that are available in AppImage format. GIMP, Krita, Scribus and OpenShot are just a few names. You can find an extensive list of applications available in AppImage format here.

I will be using OpenShot video editor in this tutorial. You can download it from its website.

Step 2: Make it executable

By default, the downloaded AppImage file won’t have the execution permission. You’ll have to change the permission on the file to make it executable. You don’t need root privilege to do that.

If you prefer the graphical way, just right click on the downloaded .appimage file and select Properties.

Run AppImage files in Ubuntu Linux
Right click on AppImage file and select Properties

In the next screen, go to the Permissions tab and check the box that says “Allow executing file as program”.

Run AppImage files in Ubuntu Linux
Make the AppImage file executable

That’s it. You have made the file executable.

Alternatively, if you prefer the command line, you can simply use chmod u+x <AppImage File> to make it executable.

Step 3: Run the AppImage file

Once you have made the AppImage file executable, just double click on it to run it. It will see the software running as you would have installed it on your system. Cool, isn’t it?

C. How to uninstall AppImage software

Since the software is never installed, there is no need of ‘uninstalling’ it. Just delete the associated AppImage file and your software is removed from the system.

D. Things to remember while using AppImage in Linux

There are few additional things about AppImage that you should know.

1. Desktop integration

When you run AppImage file, some software may prompt you to ‘install a desktop file’.  If you select yes, your AppImage will be integrated with your Linux system like a regular installed application.

Using AppImage like a regular desktop app in Linux
Some software provide desktop integration

Which means that your software will be searchable through Unity or GNOME. You can find it in menu and lock it to the Plank or Launcher.

Using AppImage application in Ubuntu Linux
OpenShot after desktop integration

2. Desktop integration may require manual cleanup post removal

If you choose desktop integration, you’ll have a few files created in your system. The file size will only be in a few Kb though. When you delete the AppImage file, these desktop files remain in your system. You may leave it as it is or delete it manually.

3. Choose where you put the AppImage files

The downloaded AppImage files should arrive in the Download folder. But this might not be the best place to keep it as it gets cluttered over time. It is better to keep them in a separate directory for easier management.

Also keep in mind that if you chose desktop integration and then moved the AppImage file to some other location, you’ll have to remove the desktop files first. Else the desktop integration might not work.

4. Update is not always an option

Maybe some software will check for updates automatically and notify you about the availability of a newer version. But that’s not going to happen most of the time.

There is a command line option to check and update the software but that too depends if the developer provided this option or not.

In short, there is no automatic updates here. You’ll have to find your own if there is a newer version of the software available.

Conclusion

There are other “universal Linux apps” such as Snap by Ubuntu and Flatpak by Fedora.  Since this article was about using AppImage, I didn’t go into the Snap vs Flatpak vs AppImage debate.

To me, AppImage is a nice way to use software across Linux distributions. I do hope that the update process improves here to make it much more useful for end users.

What do you think of AppImage? Do you prefer to use AppImage in Linux over other formats? Share your views in the comments below.

Comments

  1. I would like to know how to implement desktop integration where none is provided in the AppImage such as FreeCAD 0.17. I can run it by double-clicking the file name in Thunar but it does not show up in any list of applications.

  2. The system can be easily reïnstalled, when an app that deletes photos or other documents in your /home they are gone forever. So it’s not a good way to distribute apps

  3. Just for my interest… Where would you put your .appimage file after downloading? I’m pretty new to Linux and ask myself often, how to stay logically organized. Since Linux doesn’t have a program folder in a way windows does, what would the expert do?

    • No.. not really. Remember, it doesn’t touch the core system. It doesn’t require root permission. While it is not sandboxed, it is not the same as Windows exe file that will harm your system in a click.

  4. It seems to me most similar to portable apps on Windows. They are packaged with their dlls, conf and registry and can be run even on USB pen with no interaction with the OS data

  5. I tried some software in appimage format (Kate, krita…) and I observed that they do not conform to the GTK theme I’m currently using. Is it possible to change the theme an appimage?

  6. One of the main reasons I use Linux systems is the difficulty to make malware makes it not worth their time to the sick people who make it.

    It seems Appimage would be the great virus transmitter the sickos have been waiting for to attack Linux and sell their garbage.

    I’m too paranoid to trust this at this time.

  7. I think the AppImage format is a nice idea but it could be improved, for example by adding automatic updates and an option to delete the desktop files if the user doesn’t want them anymore.

    P. S.: What is the theme used on the screenshots? I like it

  8. I want to make my program CudaText in Appimage fmt.
    But i think it won’t work. Reason: app installs its plugins into
    py/ subdir of its installation dir. For Appimage will be what??
    I dont know. Maybe some mounted dir… maybe dir will change on each run…
    App itself can install plugins to py/ dir, but user cannot view this dir
    and cannot change/edit/delete/make files in it.
    So the plugins work will be… limited.
    For plugin creators it will be limited.
    Also themes/addons in other subdirs (in data/ subdir).

  9. It is a pity to hear that AppImage may not necessarily perform automatic update.

    Rather than comparing to Windows .exe, AppImage’s concept looks more similar to .app under macOS: executable once extracted, removed once deleted, self containing…the only difference is that the desktop integration thing have to be manually removed under AppImage when the software is deleted.

    I think it will have a future if developers spend more time to polish software update and desktop integration of AppImage. But we will have to see, every year many new concepts appear, then suddenly disappear in the Linux ecosystem.

  10. New to me. I’ll be interested in hearing a lot more comments from folks who’ve used it.
    PS–having a way to follow a topic on IF w/out having to leave a comment would be a nice option for the site.

  11. The only appimage I tried was etcher, which is an image writing tool. I tried it on both Arch Linux & Ubuntu 17.10 (development branch) & it worked fine. It takes a bit more time to start than usual applications as it has to compile first. The approach of appimage is like an interpreter, in my opinion. Interpret the source code & run the program. Rufus for Windows systems works without installation as well.

      • I have KeePassXC as appimage and it loads without any delay. Perhaps there’s a bigger initial memory load with appimage? I don’t know.
        Also it integrates easily with the Whisper menu in Linux Lite and when I upgraded to the latest version I simply made the old version non-executable when I made the new one executable, in the same folder, and the menu adjusted perfectly.
        I do worry about the security of the format though and think validating the signing and download keys is very important.

    • No it is not compiling at runtime. What it does is mount the appImage as a diskpartiton in the temp folder, adjust some environment variables and then launch the app.

Trackbacks

Leave a Reply

Your email address will not be published. Required fields are marked *

[i]
[i]