Appimage Page

AppImage



Return to AppImage, JetBrains Toolbox, Filesystems

https://appimage.org

AppImage is a format for distributing Portable application|portable software on Linux without needing superuser permissions to Installation (computer programs)|install the Application software|application.{{cite web |url=http://www.freesoftwaremagazine.com/articles/simon_peter_interview |title=Free Software Magazine interview with Simon Peter |last=Mobily |first=Tony |publisher=Free Software Magazine |date=2006-04-07 |access-date=2007-05-05 |archive-url=https://web.archive.org/web/20070330201107/http://www.freesoftwaremagazine.com/articles/simon_peter_interview |archive-date=2007-03-30 |url-status=dead }} It tries also to allow Linux distribution-agnostic binary software deployment for Software developer|application developers, also called Upstream (software development)|upstream packaging. Released first in 2004 under the name klik, it was continuously developed, then renamed in 2011 to PortableLinuxApps and later in 2013 to AppImage.

Description



=Objectives

=
AppImage aims to be an application deployment system for Linux with the following objectives: simplicity, binary compatibility, Linux distribution|distro agnosticism, no Software installation|installation, no Superuser|root permission, being Portable software|portable, and keeping the underlying operating system untouched.[https://www.youtube.com/watch?v=mVVP77jC8Fc AppImage: Linux apps that run anywhere] on youtube.com by Simon Peter (June 2016)

=Properties

=
AppImage does not install the application in the traditional Linux sense. Instead of putting the application's various files in the distro's appropriate places in the file system, the AppImage file is just the application's compressed image. When it runs, the file is mounted with Filesystem in Userspace|FUSE. This behavior is consistent with AppImage's predecessors, klik and PortableLinuxApps.

It uses one Computer file|file per application. Each file is self-contained: it includes all Library (software)|libraries the application Dependency (computer science)|depends on that are not already part of the targeted base-system. An AppImage of version 1.0 is an ISO 9660 Rock Ridge file (which can be optionally zisofs compressed) containing a minimal AppDir and a tiny runtime library|runtime.{{Cite web |url=http://portablelinuxapps.org/docs/1.0/AppImageKit.pdf |title=Archived copy |access-date=2011-08-03 |archive-url=https://web.archive.org/web/20101129031656/http://portablelinuxapps.org/docs/1.0/AppImageKit.pdf |archive-date=2010-11-29 |url-status=dead }} (Version 2 may use other file system image formats like SquashFS{{Cite web|url=https://github.com/AppImage/AppImageSpec|title=AppImage/AppImageSpec|website=GitHub|date=18 November 2021}}{{Cite web|url=https://discourse.appimage.org/t/the-future-of-appimage-type-2-and-new-tools/65/2|title=The future of AppImage: Type 2 and new tools|date=September 15, 2016|website=AppImage}}). An AppImage application can be added to a live CD by adding only one file to the live CD.

AppImage files are simpler than installing an application. No extraction tools are needed, nor is it necessary to modify the operating system or user environment. Regular users on the common Linux distributions can download it, make it executable, and run it.

AppImage allows generation of embedded digital signature, which need to be verified with an external utility. The format does not offer form of self-check with package authenticity verification or runtime confinement by Sandbox (computer security)|sandboxing.{{Cite web|url=https://docs.appimage.org/packaging-guide/signatures.html|title=Signing AppImages — AppImage documentation|website=docs.appimage.org|access-date=2019-10-29}}

History



=klik

=
Image:Klik.png|thumb|klik installing an application

AppImage's predecessor klik was designed in 2004 by Simon Peter.{{cite web|url=http://linux.slashdot.org/article.pl?sid=05/01/15/1815210&tid=90&tid=106 |title=Slashdot - Point-and-klik Linux Software Installation? |publisher=slashdot.com}} The client-side software is GPL-licensed. klik integrated with web browsers on the user's computer. Users downloaded and installed software by typing a URL beginning with klik://. This downloaded a klik "recipe" file, which was used to generate a .cmg file. For main ingredients, usually pre-built .deb packages from Debian Stable repositories were fed into the recipe's .cmg generation process. In this way, one recipe could be used to supply packages to a wide variety of platforms. With klik, only eight programs could be run at once because of the limitation of mounting compressed images with the Linux kernel, unless FUSE (Linux)|FUSE was used. The file was remounted each time the program is run, meaning the user could remove the program by simply deleting the .cmg file. A next version, klik2, was in development; and would natively incorporate the FUSE kernel module, but it never reached past the beta stage.[https://web.archive.org/web/20110624181020/http://video.google.com/videoplay?docid=-1910211845236337938%23 Screen capture video of Klik2] on video.google.com (archived) Around 2011, the klik project went dormant and the homepage went offline for some time.{{cite web|url=http://klik.atekon.de |title=klik - Linux Software Download |url-status=dead |archive-url=https://web.archive.org/web/20070626012138/http://klik.atekon.de/ |archive-date=2007-06-26 }}

=PortableLinuxApps

=
Simon Peter started a successor project named PortableLinuxApps with similar goals around that time.{{cite web |url=http://portablelinuxapps.org/docs/1.0/AppImageKit.pdf |publisher=PortableLinuxApps.org |first=Simon |last=Peter |year=2010 |access-date=2011-07-29 |title=AppImageKit Documentation 1.0 |pages=2–3 |quote=The AppImage format has been created with specific objectives in mind: Be Simple [...], Maintain binary compatibility [...], Be distribution-agnostic [...], Remove the need for installation [...], Allow to put apps anywhere [...], Do not require recompilation [...], Keep base operating system untouched [...], Do not require root [...] |archive-url=https://web.archive.org/web/20101129031656/http://portablelinuxapps.org/docs/1.0/AppImageKit.pdf |archive-date=2010-11-29 |url-status=dead }} The technology was adapted for instance by the "portablelinuxgames.org" repository, providing hundreds of mostly open-source video games.{{cite web|url=https://portablelinuxgames.org/ |title=Portable Games for Linux }}

=AppImage

=
Around 2013, the software was renamed again from portableLinuxApps to AppImage; the license became the MIT license. AppImage is the format and AppImageKit is a concrete open source implementation. The development happens in a GitHub repository.{{cite web|url=https://github.com/probonopd/AppImageKit/blob/master/README.md|title=AppImageKit|date=19 November 2021|publisher=github.com}}

Reception and usage


Klik was in 2007 the inspiration for Alexander Larsson's glick project, the precursor of Flatpak which was released in 2016.[https://blogs.gnome.org/alexl/2007/08/07/experiments-with-runtime-less-app-bundles/ Experiments with run-timeless app bundles] by Alex Larsson (2007)

Linus Torvalds' dive log application Subsurface (software)|Subsurface started to use AppImage around 2015. Subsurface's traditional packaging was changed to a Portable application|portable, self-contained, distro-agnostic AppImage, as Binary (software)|binary software deployment for the Linux users of the various Linux distributions turned out to be problematic.{{cite web|url=http://meetings-archive.debian.net/pub/debian-meetings/2014/debconf14/webm/QA_with_Linus_Torvalds.webm |title=Q&A with Linus Torvalds |authors=Linus Torvalds |date=2014-08-29 |publisher=debian.net |work=DebConf 2014 Portland |access-date=2016-05-14 |format=video |at=6:28 |quote=I have seen this first hand with the other project I'm involved with, which is my dive log app. We make binaries for Windows and OSX, we basically don't make binaries for Linux. Why? Because making binaries for Linux desktop applications is a major fucking pain in the ass.}}{{cite web|url=https://plus.google.com/+LinusTorvalds/posts/WyrATKUnmrS|title=This is just very cool.|last=Torvalds|first=Linus|author-link=Linus Torvalds|publisher=Google+|quote=I finally got around to play with the "AppImage" version of +Subsurface, and it really does seem to "just work".}}{{cite web|url=https://plus.google.com/+LinusTorvalds/posts/WyrATKUnmrS|title=This is just very cool.|last=Hohndel |first=Dirk|publisher=Google+|quote=I, as the app maintainer, don't want my app bundled in a distribution anymore. Way to much pain for absolutely zero gain. Whenever I get a bug report my first question is "oh, which version of which distribution? which version of which library? What set of insane patches were applied to those libraries?". No, Windows and Mac get this right. I control the libraries my app runs against. [...] With an AppImage I can give them just that. Something that runs on their computer.|date=2015-11-25}}

MuseScore started in April 2016 to use AppImage builds for software deployment for all Linux flavors.{{cite web |last1=Weiss |first1=Isaac |title=MuseScore 2.0.3 is released |url=https://musescore.org/en/node/104676 |website=MuseScore.org |publisher=MuseScore |access-date=2016-04-05 |archive-url=https://web.archive.org/web/20160423053503/https://musescore.org/en/node/104676 |archive-date=2016-04-23 |url-status=dead }}

Krita, a digital painting free and open-source software application, is also deployed using AppImage from version 3.0 in May 2016.{{cite web|title=Krita 3.0 Released|url=https://krita.org/item/krita-3-0-released/ |website=Krita.org |publisher=Krita |date=2016-05-31}}{{Cite web|url=https://www.davidrevoy.com/article322/krita-appimage-for-cats|title=Krita Appimage for cats|first=David|last=REVOY|website=David Revoy}}

digiKam, an open source photo management application, also includes an AppImage bundle from version 5.3.0, released in November 2016.{{Cite web|url=https://www.digikam.org/node/761|title=digiKam 5.3.0 is published|website=www.digikam.org|date=7 November 2016|access-date=2016-12-30}}

Network World's Bryan Lunduke noted on March 31, 2017 positively the Linux distribution-agnostic packaging of OpenShot with AppImage.{{cite web|url=http://www.networkworld.com/article/3186857/open-source-tools/linux-video-editor-openshot-23-impresses-new-tools-fast-performance.html|title=Linux video editor OpenShot 2.3 impresses: New tools, fast performance |author=Bryan Lunduke|publisher=Network World |date=Mar 31, 2017|quote=Interestingly, OpenShot is distributed via appimage. That means they provide a single binary that can be run on just about any modern Linux distribution. I personally tested this out on openSUSE Tumbleweed with great success—but it should run just as easily on Debian, Fedora or others. I love this approach to distributing software directly from the developers. |access-date=2017-04-02}}

LMMS, an open source digital audio workstation, started distributing for Linux as an AppImage since version 1.2.0-RC5.{{Cite web|url=https://github.com/LMMS/lmms/pull/3688|title=Add AppImage support to Linux builds|website=GitHub|access-date=2018-04-09}}

KeePassXC is also using AppImage for Linux binary distributions.{{citation |url=https://keepassxc.org/download/#linux |title=Download |website=keepassxc.org |access-date=2020-09-24}}

Neo4j uses AppImage for the Linux version of their "Neo4j Desktop" program.{{Cite web|url=https://neo4j.com/download-center/|title=Neo4j Download Center|first=For trial users of Neo4j Enterprise|last=Edition}}

RPCS3, the most used PS3 emulator, for Linux is distributed through AppImage.

GitHub desktop client app Linux version maintained by the community is distributed with an AppImage option.{{Cite web|url=https://github.com/shiftkey/desktop/releases|title=Releases · shiftkey/desktop|website=GitHub}}

Iris, the computer-monitor eye-strain reduction and management software, offers a paid AppImage option.{{Cite web|url=https://iristech.co/wp-content/themes/iris/img/social/iris-og-big.gif|title=Protect your Eyes. Be Healthy. Achieve more | Iris|first=Daniel|last=Georgiev|via=iristech.co}}

FreeCAD, an open-source parametric 3D modeler, uses AppImage as the primary Linux binary download.{{Cite web|url=https://www.freecadweb.org/downloads.php|title=FreeCAD: Select your platform|website=www.freecadweb.org}}

OpenSCAD, another open-source parametric 3D modeler, also uses AppImage as a Linux binary download option.{{Cite web|url=http://www.openscad.org/downloads.html|title=OpenSCAD - Downloads|website=www.openscad.org}}

86Box, an x86 retro PC emulator, uses AppImage for Linux distribution.{{Cite web|url=https://www.appimagehub.com/p/1715191|title=86Box on AppImage|website=www.appimagehub.com}}

See also


* Portable application creators
* Autopackage
* Snap (package manager)
* Flatpak
* Zero Install, another similar project
* ROX Desktop|ROX uses directories (Application directory|AppDirs) as application bundles.

References


{{Reflist|30em}}

External links


* {{Official website|https://appimage.org/}}
** [https://appimage.github.io AppImages for various applications by the AppImage developer]
* [https://www.linuxuprising.com/2018/04/easily-run-and-integrate-appimage-files.html Easily Run And Integrate AppImage Files With AppImageLauncher]
* [https://web.archive.org/web/20110810070025/http://portablelinuxapps.org/ portablelinuxapps.org] project page on SourceForge (accessed August 2, 2011)
* [https://web.archive.org/web/20041206214533/http://klik.atekon.de/ klik.atekon.de] Official klik site (archived)
** [https://code.google.com/p/klikclient/ klik client] repository page at Google Code

Wikipedia Categories:
* wp>Category:Linux installation software
* wp>Category:Linux package management-related software
* wp>Category:Software distribution
* wp>Category:Software using the MIT license


wp>AppImage

{{navbar_package_manager}}

{{navbar_footer}}