AppImage: Difference between revisions

From Alpine Linux
m (1. Added internal links to 'Running glibc programs' and to 'fuse' package; 2. Added paragraph re storage location; root being discouraged; $PATH; and .desktop; 3. Moved chmod to 'Installation'; 4. Removed 'Example' subheading to demonstrate two usage models depending on paths; 5. Added Category: Software; 6. Style and grammar amendments, using Cmd template, and 'var' for variables.)
(removed the external website)
 
(2 intermediate revisions by 2 users not shown)
Line 1: Line 1:
[https://appimage.org AppImages] allow a simple executable-like experience, but the problem is that AppImages require glibc, and Alpine Linux uses [[musl]].
{{Draft|work in progress}}
 
[https://appimage.org AppImages] allow a simple executable-like experience, but the problem is that many AppImages require glibc, and Alpine Linux uses [[musl]].


== Installation ==
== Installation ==
First you need {{Pkg|fuse}} for AppImages to work;  then, modprobe it.
First you need {{Pkg|fuse}} for AppImages to work;  then, modprobe it.
{{Cmd|# apk add fuse
{{Cmd|# apk add fuse


<nowiki>#</nowiki> modprobe fuse}}
<nowiki>#</nowiki> modprobe fuse}}
Optional, but recommended:  install [https://git.adelielinux.org/adelie/gcompat gcompat] for [[Running_glibc_programs|glibc compatibility]].
Optional, but recommended:  install {{pkg|gcompat}} package for [[Software_management#Running_glibc_programs|glibc compatibility]].
{{Cmd|# apk add gcompat}}
{{Cmd|# apk add gcompat}}


Download your AppImage to the user's directory:  launching it as root is typically a '''security risk''' and unnecessary. The {{Path|~/.local/bin}} location is suitable, further to [https://specifications.freedesktop.org/basedir/latest/#variables XDG Base Directory Specifications].  {{Path|~/bin}} is another common location. Create the directory, if necessary.  It is good practice to ensure that the location for your AppImages appears in the user's {{Path|$PATH}} for executables so that the AppImages could be launched from a shell (aka 'terminal') without needing to specify their path.  To check, from a user's prompt:
== Download AppImage ==
{{Cmd|$ echo $PATH}}
 
Download your AppImage to the user's directory. The {{Path|~/.local/bin}} location is suitable, further to [https://specifications.freedesktop.org/basedir/latest/#variables XDG Base Directory Specifications].  {{Path|~/bin}} is another common location. {{Warning|Downloading or launching AppImages as root is a '''security risk''' and should be avoided.}}
 
Create the above mentioned directory, if necessary.  It is good practice to ensure that the location for your AppImages appears in the user's {{Path|$PATH}} for executables so that the AppImages could be launched from a shell (aka 'terminal') without needing to specify their path.  To check, from a user's prompt: {{Cmd|$ echo $PATH}}


For AppImages to appear in an app launcher, additionally, a {{Path|.desktop}} file with the AppImage's name would need to be created or found upstream and used if licence permits, placing it in {{Path|~/.local/share/applications}}.
For AppImages to appear in an app launcher, additionally, a {{Path|.desktop}} file with the AppImage's name would need to be created or found upstream and used if licence permits, placing it in {{Path|~/.local/share/applications}}.


You have to make the AppImage executable so that you can launch it.
== Usage ==
{{Cmd|$ chmod +x <var>Example</var>.AppImage}}


== Usage ==
You have to make the downloaded AppImage executable so that you can launch it: {{Cmd|$ chmod +x <var>Example</var>.AppImage}}
To execute it, for example, when the current working directory of your user prompt is the directory where the AppImage is stored, then you can instruct your shell that the AppImage to be launched is located in that same directory by using the prefix {{ic|./}}:
 
{{Cmd|$ ./<var>Example</var>.AppImage}}
To execute it, for example, when the current working directory of your user prompt is the directory where the AppImage is stored, then you can instruct your shell that the AppImage to be launched is located in that same directory by using the prefix {{ic|./}}:{{Cmd|$ ./<var>Example</var>.AppImage}}
 
If the AppImage was stored in the user's {{Path|$PATH}} for executables, neither navigating to the shell to use the {{ic|./}} prefix nor stating the path as a prefix would be necessary to execute it:{{Cmd|$ <var>Example</var>.AppImage}}
 
== See also ==


If the AppImage was stored in the user's {{Path|$PATH}} for executables, neither navigating to the shell to use the {{ic|./}} prefix nor stating the path as a prefix would be necessary to execute it:
{{Cmd|$ <var>Example</var>.AppImage}}


[[Category:Software]]
[[Category:Software]]

Latest revision as of 13:12, 25 January 2026

This material is work-in-progress ...

work in progress
(Last edited by Prabuanand on 25 Jan 2026.)

AppImages allow a simple executable-like experience, but the problem is that many AppImages require glibc, and Alpine Linux uses musl.

Installation

First you need fuse for AppImages to work; then, modprobe it.

# apk add fuse # modprobe fuse

Optional, but recommended: install gcompat package for glibc compatibility.

# apk add gcompat

Download AppImage

Download your AppImage to the user's directory. The ~/.local/bin location is suitable, further to XDG Base Directory Specifications. ~/bin is another common location.

Warning: Downloading or launching AppImages as root is a security risk and should be avoided.


Create the above mentioned directory, if necessary. It is good practice to ensure that the location for your AppImages appears in the user's $PATH for executables so that the AppImages could be launched from a shell (aka 'terminal') without needing to specify their path. To check, from a user's prompt:

$ echo $PATH

For AppImages to appear in an app launcher, additionally, a .desktop file with the AppImage's name would need to be created or found upstream and used if licence permits, placing it in ~/.local/share/applications.

Usage

You have to make the downloaded AppImage executable so that you can launch it:

$ chmod +x Example.AppImage

To execute it, for example, when the current working directory of your user prompt is the directory where the AppImage is stored, then you can instruct your shell that the AppImage to be launched is located in that same directory by using the prefix ./:

$ ./Example.AppImage

If the AppImage was stored in the user's $PATH for executables, neither navigating to the shell to use the ./ prefix nor stating the path as a prefix would be necessary to execute it:

$ Example.AppImage

See also