AppImage: Difference between revisions

From Alpine Linux
mNo edit summary
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.)
 
Line 1: Line 1:
[https://appimage.org AppImages] allow a simple executable like experience on Linux, but the problem is that AppImages require glibc and alpine uses [[musl]].
[https://appimage.org AppImages] allow a simple executable-like experience, but the problem is that AppImages require glibc, and Alpine Linux uses [[musl]].


== Installation ==
== Installation ==
First you need FUSE for AppImages to work and modprobe it.
First you need {{Pkg|fuse}} for AppImages to work;  then, modprobe it.
<pre>
{{Cmd|# apk add fuse
# apk add fuse
 
# modprobe fuse
<nowiki>#</nowiki> modprobe fuse}}
</pre>
Optional, but recommendedinstall [https://git.adelielinux.org/adelie/gcompat gcompat] for [[Running_glibc_programs|glibc compatibility]].
Optional but recommended install [https://git.adelielinux.org/adelie/gcompat gcompat] for glibc compatibility.
{{Cmd|# apk add gcompat}}
<pre>
 
# 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:
</pre>
{{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}}.
 
You have to make the AppImage executable so that you can launch it.
{{Cmd|$ chmod +x <var>Example</var>.AppImage}}


== Usage ==
== Usage ==
You have to make the AppImage executable, so you can execute it.
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|./}}:
=== Example ===
{{Cmd|$ ./<var>Example</var>.AppImage}}
<pre>
 
$ chmod +x Example.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:
$ ./Example.AppImage
{{Cmd|$ <var>Example</var>.AppImage}}
</pre>
 
[[Category:Software]]

Latest revision as of 05:26, 14 November 2025

AppImages allow a simple executable-like experience, but the problem is that 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 for glibc compatibility.

# apk add gcompat

Download your AppImage to the user's directory: launching it as root is typically a security risk and unnecessary. The ~/.local/bin location is suitable, further to XDG Base Directory Specifications. ~/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 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.

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

$ chmod +x Example.AppImage

Usage

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