Why AppImages Stop Working on Ubuntu Desktop in 2026
AppImages are one of the most convenient ways to run Linux applications — no installation required, no dependency hunting, just download and run. But if you have recently upgraded to Ubuntu 24.04 LTS or later, you have probably found that double-clicking an AppImage does absolutely nothing, or the terminal spits out a confusing wall of errors.
This is not your fault, and it is not a broken download. Ubuntu has introduced several security-hardening changes over the past few releases that break AppImages in four distinct ways:
- FUSE 2 library removed: Ubuntu 22.10 and later ship with FUSE 3 only. AppImages still require FUSE 2 (libfuse2), which is no longer installed by default.
- Execute permission not set: Browsers and file managers often download AppImages without the executable bit, so the file will not run.
- Unprivileged user namespace restrictions: Ubuntu 24.04 LTS tightened kernel namespace security via AppArmor, breaking the built-in sandbox used by Electron-based AppImages.
- GLIBC version mismatch: AppImages built against a newer system library will refuse to start on older Ubuntu releases.
This guide walks through each fix in order. Work through them top to bottom — most users are resolved by Fix 1 or Fix 2 alone.
Fix 1: Install the Missing libfuse2 / libfuse2t64 Package
The most common reason an AppImage silently fails or produces this error:
dlopen(): error loading libfuse.so.2
AppImages require FUSE to run.
...is that the FUSE 2 runtime library is simply not installed. Ubuntu 22.04 and earlier use the package name libfuse2. From Ubuntu 24.04 onward the package was renamed to libfuse2t64 to signal its 64-bit transition. Install the correct one for your release.
Ubuntu 20.04 and 22.04 LTS
sudo apt update
sudo apt install libfuse2
Ubuntu 24.04 LTS and Later
sudo apt update
sudo apt install libfuse2t64
You can confirm which Ubuntu version you are on before running any command:
lsb_release -rs
After installing the library, try launching the AppImage again. Installing libfuse2t64 alongside the already-present FUSE 3 package (fuse3) is completely safe — the two versions coexist without conflict.
If the AppImage still will not start, move to Fix 2.
Fix 2: Grant Execute Permissions to the AppImage File
Even with FUSE installed, the AppImage will silently fail or throw a Permission denied error if the downloaded file does not have the executable bit set. This happens frequently because browsers like Firefox and Chrome strip execute permissions from downloads as a security measure.
You will see an error similar to:
bash: ./myapp.AppImage: Permission denied
Or when double-clicking in the Files app, nothing happens at all.
Method A — Terminal (recommended)
chmod +x /path/to/myapp.AppImage
./myapp.AppImage
Replace /path/to/myapp.AppImage with the actual path to your file (e.g., ~/Downloads/Signal-6.1.0.AppImage).
Method B — GUI File Manager
- Right-click the AppImage file and choose Properties.
- Open the Permissions tab.
- Tick the checkbox that reads Allow executing file as program.
- Close the dialog and double-click the file.
Bonus: Fix the fusermount permission (edge case)
On some minimal Ubuntu installs, the fusermount binary itself may lack the setuid bit. If AppImages still fail after the above steps, run:
sudo chmod u+s "$(which fusermount)"
Fix 3: Resolve Unprivileged User Namespace Restrictions (Ubuntu 24.04+)
Starting with Ubuntu 24.04 LTS, Canonical enabled a kernel security policy that restricts unprivileged user namespaces. This is enforced through a new AppArmor profile at the kernel level. The restriction directly breaks many Electron-based AppImages (apps like Obsidian, VS Code portable builds, and similar tools) because they attempt to create an isolated namespace for their internal Chromium sandbox.
The symptom is an error like:
FATAL:setuid_sandbox_host.cc(158)] The SUID sandbox helper binary was found, but is not configured correctly. Rather than run without sandboxing I'm aborting now.
Or simply:
[FATAL] Failed to move to new namespace: PID namespaces supported, Network namespace supported, but failed: errno = Operation not permitted
Option A — Run with --no-sandbox flag (quick fix)
For Chromium/Electron-based AppImages, pass the --no-sandbox flag:
./myapp.AppImage --no-sandbox
This disables the Chromium process sandbox. It is acceptable for trusted, known applications on a personal workstation but is not recommended for applications that handle sensitive data.
Option B — Create an AppArmor exception (secure, permanent fix)
A better long-term solution is to create a targeted AppArmor profile that allows your specific AppImage to use user namespaces without disabling the sandbox entirely for all applications.
sudo nano /etc/apparmor.d/appimage.myapp
Paste the following, replacing myapp with your app's actual binary name:
abi <abi/4.0>,
include <tunables/global>
profile appimage-myapp /home/**/myapp.AppImage flags=(unconfined) {
userns,
}
Save the file, then reload AppArmor:
sudo apparmor_parser -r /etc/apparmor.d/appimage.myapp
Option C — System-wide policy change (not recommended for shared systems)
To allow all unprivileged user namespaces system-wide (not recommended unless you understand the security implications):
sudo sysctl -w kernel.apparmor_restrict_unprivileged_userns=0
To make it persistent across reboots:
echo 'kernel.apparmor_restrict_unprivileged_userns=0' | sudo tee /etc/sysctl.d/99-userns.conf
sudo sysctl -p /etc/sysctl.d/99-userns.conf
Fix 4: Handle GLIBC Version Mismatch and Library Errors
If you are running an older Ubuntu release (20.04 or 22.04) and trying to run an AppImage that was built on a newer system, you may see errors like:
./myapp: /lib/x86_64-linux-gnu/libc.so.6: version 'GLIBC_2.38' not found (required by ./myapp)
This means the AppImage was compiled against a newer version of the GNU C Library than your system provides. GLIBC cannot simply be swapped out — it is one of the most fundamental libraries in Linux.
Check your current GLIBC version
ldd --version | head -1
This will output something like ldd (Ubuntu GLIBC 2.35-0ubuntu3.8) 2.35. Compare this with the version the AppImage requires.
Option A — Download an older AppImage release
Most projects provide multiple AppImage builds. Check the GitHub releases page for the project and look for a version labelled legacy, ubuntu20, or with a lower version number that was built on an older base system.
Option B — Extract and run the AppImage without mounting
You can extract the AppImage contents and run the internal AppRun binary directly, bypassing FUSE entirely:
./myapp.AppImage --appimage-extract
cd squashfs-root
./AppRun
This approach creates a squashfs-root directory and runs the application from there. It is particularly useful on systems where FUSE is unavailable or restricted.
Option C — Upgrade Ubuntu
The cleanest long-term solution for GLIBC mismatches is upgrading to Ubuntu 24.04 LTS, which ships with GLIBC 2.39. This resolves compatibility issues for the vast majority of modern AppImages while also bringing you up to a supported release.
How to Run AppImages Reliably on Ubuntu Going Forward
Once your AppImages are running, here are a few practices that will save you headaches in the future.
Use AppImageLauncher for seamless integration
AppImageLauncher is a helper utility that automatically integrates AppImages into your application menu, handles updates, and manages permissions on launch. Install it via PPA:
sudo add-apt-repository ppa:appimagelauncher-team/stable
sudo apt update
sudo apt install appimagelauncher
After installation, any AppImage you double-click will prompt you to either run it once or integrate it into the system. Integrated AppImages appear in your Activities search like any installed app.
Keep a dedicated AppImage folder
Store all your AppImages in a consistent location such as ~/Applications/ and apply execute permissions once when you add the file:
mkdir -p ~/Applications
mv ~/Downloads/myapp.AppImage ~/Applications/
chmod +x ~/Applications/myapp.AppImage
Verify AppImage type before troubleshooting
AppImages come in two formats: Type 1 (older, uses iso9660) and Type 2 (modern, uses squashfs). Most issues described in this guide affect Type 2. Check the type with:
file myapp.AppImage
Type 2 AppImages will show ELF 64-bit LSB executable in the output. Type 1 AppImages are increasingly rare and may require different handling.
If you have worked through all four fixes and your AppImage still will not launch, the issue may be application-specific or related to a missing system dependency that the AppImage does not bundle. In those cases, get expert desktop support — a specialist can diagnose the exact error and get you running in minutes without the guesswork.
Frequently Asked Questions
Why does my AppImage say "AppImages require FUSE to run"?
This error means the FUSE 2 library (libfuse2 or libfuse2t64 on Ubuntu 24.04+) is not installed on your system. AppImages use FUSE to mount themselves as a virtual filesystem at runtime. Install the correct package for your Ubuntu version with sudo apt install libfuse2t64 (24.04+) or sudo apt install libfuse2 (22.04 and earlier).
How do I run an AppImage without FUSE?
Extract the AppImage contents using ./myapp.AppImage --appimage-extract, then navigate into the resulting squashfs-root directory and run ./AppRun directly. This bypasses FUSE entirely and works even on systems with restricted namespaces.
Why does my AppImage not open after double-clicking in Ubuntu?
The most likely cause is a missing execute permission. Right-click the file, go to Properties, open the Permissions tab, and enable "Allow executing file as program." Alternatively run chmod +x myapp.AppImage in the terminal. If it still does not open, FUSE 2 may also be missing.
How do I fix AppImage sandbox errors on Ubuntu 24.04?
Ubuntu 24.04 restricts unprivileged user namespaces by default, which breaks the internal sandbox of Electron-based AppImages. The quickest fix is to run the AppImage with the --no-sandbox flag. For a more secure permanent fix, create a targeted AppArmor profile in /etc/apparmor.d/ that grants namespace access only to that specific application.
Can I install libfuse2 and libfuse3 at the same time on Ubuntu?
Yes. Installing libfuse2t64 (FUSE 2) alongside the system's fuse3 package (FUSE 3) is fully supported on Ubuntu 24.04 and later. The two packages do not conflict with each other, and system tools that rely on FUSE 3 will continue to work normally after you install the FUSE 2 compatibility library.
