A simple shell script to install and manage AppImage applications on Linux systems. It automatically extracts icons and desktop files, organizes applications into clean directories, and creates proper desktop integration.
- Automatic Extraction: Extracts icons and
.desktopfiles from AppImage packages - Clean Organization: Creates application directories with clean names (removes version numbers and architecture suffixes)
- Desktop Integration: Properly installs
.desktopfiles for system integration - Smart Naming: Automatically sanitizes application names by removing version numbers and architecture identifiers
- User-Friendly: Simple one-command installation process
- Verbose Mode: Detailed logging for debugging and troubleshooting (
--verboseor-v) - Interactive Uninstall: Easy application removal with filtering support
- Sandbox Control: Optional
--no-sandboxparameter for applications that require it
# Basic user installation
./install-appimage.sh path/to/your-app.AppImage
# System-wide installation (requires sudo)
./install-appimage.sh path/to/your-app.AppImage --system
# Install with --no-sandbox parameter
./install-appimage.sh path/to/your-app.AppImage --no-sandbox
# Verbose mode for debugging
./install-appimage.sh path/to/your-app.AppImage --verbose
# System installation with --no-sandbox
./install-appimage.sh path/to/your-app.AppImage --system --no-sandbox# List all installed applications for selection
./install-appimage.sh --uninstall
# List applications matching filter for selection
./install-appimage.sh --uninstall filter-string# Display help information
./install-appimage.sh --help- Extracts the AppImage contents to a temporary directory
- Identifies the correct icon and desktop file
- Creates a clean directory under
~/Applications/(user) or/opt/Applications/(system) using the application name - Moves the AppImage, icon, and desktop file to the new directory
- Updates paths in the desktop file to point to the correct locations (optionally adds --no-sandbox parameter)
- Installs the desktop file to
~/.local/share/applications/(user) or/usr/share/applications/(system) for system integration
- Scans both user (
~/Applications/) and system (/opt/Applications/) installation directories - Displays interactive list of installed applications (supports filtering)
- Removes application directory and associated desktop files
- Updates desktop database to remove application entries
After installation, your applications will be organized like:
User Installation:
~/Applications/
├── Cursor/
│ ├── Cursor.AppImage
│ ├── Cursor.png
│ └── Cursor.desktop
├── VSCode/
│ ├── VSCode.AppImage
│ ├── VSCode.png
│ └── VSCode.desktop
└── Firefox/
├── Firefox.AppImage
├── Firefox.png
└── Firefox.desktop
System Installation:
/opt/Applications/
├── Cursor/
│ ├── Cursor.AppImage
│ ├── Cursor.png
│ └── Cursor.desktop
├── VSCode/
│ ├── VSCode.AppImage
│ ├── VSCode.png
│ └── VSCode.desktop
└── Firefox/
├── Firefox.AppImage
├── Firefox.png
└── Firefox.desktop
- Linux system with support for AppImage
- Bash shell
- Standard Unix tools (find, sed, chmod, etc.)
- Clone this repository
- Make the script executable:
chmod +x install-appimage.sh - Run it with any AppImage file
# Install Cursor IDE (user installation)
./install-appimage.sh Cursor-0.45.1-x86_64.AppImage
# Install VS Code (system-wide)
./install-appimage.sh code-1.95.0-1729604362.el7.AppImage --system
# Install with --no-sandbox parameter
./install-appimage.sh app.AppImage --no-sandbox
# Install with verbose logging for debugging
./install-appimage.sh app.AppImage --verbose
# System installation with sandbox disabled
./install-appimage.sh app.AppImage --system --no-sandbox
# Uninstall specific application
./install-appimage.sh --uninstall chrome
# List all installed applications
./install-appimage.sh --uninstallThe script will automatically:
- Remove version numbers and architecture suffixes from directory names
- Extract the application icon
- Create proper desktop integration
- Make the AppImage executable