Files
quartz/content/10-19 LIFE/13 TECH SETUP/13.13 OS SETUP/AppImage Management.md
Quartz Syncer 125a9b1752
All checks were successful
Build and Deploy Quartz / build (push) Successful in 26s
Published multiple files
2026-02-05 09:53:27 -07:00

2.3 KiB

publish, permalink, title, created, modified, tags, cssclasses
publish permalink title created modified tags cssclasses
true /10-19 LIFE/13 TECH SETUP/13.13 OS SETUP/AppImage Management.md AppImage Management 2026-01-29T15:05:11.266-07:00 2026-02-05T09:21:56.851-07:00
appimage
apps

Managing AppImage applications on Arch Linux.

Directory Structure

~/.local/bin/          # AppImage binaries
~/.local/share/applications/  # Desktop entries

Installation Process

1. Download the AppImage

cd ~/.local/bin
wget "https://example.com/App.AppImage"
chmod +x App.AppImage

2. Create desktop entry

Create ~/.local/share/applications/app.desktop:

[Desktop Entry]
Name=App Name
Comment=Description
Exec=/home/phil/.local/bin/App.AppImage
Icon=app-icon
Type=Application
Categories=Utility;

3. Update desktop database

update-desktop-database ~/.local/share/applications/

Electron Apps on Wayland

Many Electron-based AppImages need extra flags for Wayland:

./App.AppImage --enable-features=UseOzonePlatform --ozone-platform=wayland

Update the desktop entry:

Exec=/home/phil/.local/bin/App.AppImage --enable-features=UseOzonePlatform --ozone-platform=wayland

AppImage Tools

appimagetool

Extract and repack AppImages:

# Extract
./App.AppImage --appimage-extract

# Creates squashfs-root/ directory

AppImageLauncher

Integrates AppImages into your system automatically:

paru -S appimagelauncher

Features:

  • Prompts to integrate on first run
  • Creates desktop entries automatically
  • Manages AppImages in a central location

Helper Script

Save as ~/.local/bin/appimage-install:

#!/bin/bash
# Usage: appimage-install App.AppImage "App Name"

APPIMAGE="$1"
NAME="$2"
DEST="$HOME/.local/bin/$(basename "$APPIMAGE")"

cp "$APPIMAGE" "$DEST"
chmod +x "$DEST"

cat > "$HOME/.local/share/applications/${NAME,,}.desktop" << EOF
[Desktop Entry]
Name=$NAME
Exec=$DEST
Type=Application
Categories=Utility;
EOF

update-desktop-database ~/.local/share/applications/
echo "Installed $NAME"

Tips

  • Keep AppImages in ~/.local/bin which should be in your PATH
  • Some AppImages bundle their own icon — extract with --appimage-extract to find it
  • For system-wide install, use /opt/ and /usr/share/applications/