-
-
Notifications
You must be signed in to change notification settings - Fork 566
Home
Welcome to the AppImageKit wiki. Check the right-hand side "Pages" menu to see the wiki pages.
An AppImage is a downloadable file for Linux that contains an application and everything the application needs to run (e.g., libraries, icons, fonts, translations, etc.) that cannot be reasonably expected to be part of each target system.
Make it executable and double-click it.
See the "repository" of upstream-generated AppImages. If there is no AppImage of your favorite application available, please request it from the author(s) of the application e.g., as a feature request in the issue tracker of the application.
Please visit http://discourse.appimage.org/. You can log in using your existing Google or GitHub account, no sign-up needed.
By bundling your application as an AppImage, you can provide an official download for Linux like you would do for Windows and macOS where you as the application author can control the end-to-end user experience with no intermediaries between you as the author and your end user. With just one AppImage you can reach users of most Linux distributions. You can provide new download links as often as you like, e.g., for each continuous build.
Also, doing an AppImage has these advantages:
- Just one format for all major distributions
- Works out of the box, no installation of runtimes needed
- No root needed
- One app = one file = super simple for users
- Optional(!) desktop integration with
appimaged
- Binary delta updates, e.g., for continuous builds (only download the binary diff) using AppImageUpdate
- Can GPG2-sign your AppImages (inside the file)
There are different ways to generate an AppImage of your application:
-
Convert existing binary packages. This option might be the easiest if you already have up-to-date packages in place, ideally a ppa for trusty or earlier or a debian repository for oldstable. In this case, you can write a small
.yml
file and in many cases are done with the package to AppImage conversion. See examples OR - Bundle your Travis CI builds as AppImages. This option might be the easiest if you already have continuous builds on Travis CI in place. In this case, you can write a small scriptfile and in many cases are done with the AppImage generation. See examples OR
-
Run linuxdeployqt on your Qt application. This option might be the easiest if you have a Qt-based application. In this case, you are probably already using
windeployqt
andmacdeployqt
and now can uselinuxdeployqt
in the same fashion with the-appimage
argument and in many cases are done with the AppImage generation See example OR - Use electron-builder. This option might be the easiest if you have an Electron-based application. In this case, you define AppImage as a target for Linux (default in the latest version of electron-builder) and in many cases are done with the AppImage generation. See examples OR
- Write your own. Start out with Creating AppImages, then check the examples on bundling certain applications or type of applications as AppImages from the right-hand side "Pages" menu.
We try to help upstream application authors as good as we can, please open an issue in this project. If you are not an upstream application author, then please contact the upstream application author(s) first before you open an issue here.
Curious about AppImage development? Want to contribute? We welcome pull requests addressing any of the open issues and/or other bugfixes and/or feature additions. In the case of complex feature additions, it is best to contact us first, before you spend much time. See our list of issues and get in touch with us in #AppImage
on irc.freenode.net
.