Join GitHub today
GitHub is home to over 28 million developers working together to host and review code, manage projects, and build software together.Sign up
AppImages require FUSE to run. Filesystem in Userspace (FUSE) is a system that lets non-root users mount filesystems.
Many distributions have a working FUSE setup out-of-the-box. However if it is not working for you, you may need to install and configure FUSE manually.
For example, on Ubuntu:
sudo apt-get install fuse sudo modprobe fuse sudo groupadd fuse user="$(whoami)" sudo usermod -a -G fuse $user
For example, on openSUSE:
sudo zypper install fuse
In order to use
fusermount on OpenSUSE with the default (?) "secure" file permission settings (see
/etc/permissions.secure), your login needs to be part of the
trusted group. To add yourself, run
sudo usermod -a -G trusted `whoami`
Then log out and log in for the change to take effect.
For example, on CentOS/RHEL:
yum --enablerepo=epel -y install fuse-sshfs # install from EPEL user="$(whoami)" usermod -a -G fuse "$user"
For example, on Armbian 64-bit systems (e.g., for the Pine64) you need to install 32-bit libfuse2 in order to run 32-bit AppImages such as the MuseScore one:
sudo apt install libfuse2:armhf
Chrome OS, Chromium OS
FUSE does not seem to be operational out of the box; check https://bugs.chromium.org/p/chromium/issues/detail?id=841787 for updates
If you don't want to install FUSE, you can either mount or extract the AppImage.
To extract the contents of the AppImage, simply run the AppImage with
If the above does not work, you may still have an older type-1 AppImage. To mount the AppImage and run the application, simply run
sudo mount -o loop Some.AppImage /mnt /mnt/AppRun
A type-1 AppImage is an ISO, so
sudo apt install libarchive-tools # Or any other method to get `bsdtar` mkdir AppDir cd AppDir bsdtar xfp /home/me/Downloads/Some.AppImage ./AppRun
When running an AppImage from a Docker container you will get the following error:
fuse: failed to open /dev/fuse: Operation not permitted Could not mount AppImage Please see https://github.com/probonopd/AppImageKit/wiki/FUSE
You'll often hear "oh, just add these arguments to
--cap-add SYS_ADMIN --cap-add MKNOD --device /dev/fuse:mrw and it'll work", but that is totally insecure and not recommended, as it bypasses security restrictions which have been implemented for very good reasons.
Instead, just extract the AppImage in your build script:
[...] ./appimagetool-*.AppImage --appimage-extract # AppImage contents have been extracted to a directory called squashfs-root, which might be changed in the squashfs-root/AppRun <any argument that you'd normally pass directly to appimagetool-*.AppImage> # clean up a bit rm -rf squashfs-root/ [...]
appimagetool-*.AppImage can be extracted starting with release version 9
If you want to decide whether to use the AppImage directly or extracted depending on whether you're in a container or not, for example in a build script, you can combine this with some detection code.