# AppImage Quick Reference Card ## 🚀 Basic Operations ### Download and Run (Quick Test) ```bash # Make executable chmod +x app-name.AppImage # Run it ./app-name.AppImage ``` --- ## 🏠 Proper Installation ### Using the Automated Script ```bash # Simple - script will prompt for details bash install-appimage.sh ~/Downloads/app-name.AppImage # With all options bash install-appimage.sh ~/Downloads/app-name.AppImage my-app-name Office ``` ### Manual Installation ```bash # 1. Move to Applications mkdir -p ~/Applications mv ~/Downloads/app-name.AppImage ~/Applications/ chmod +x ~/Applications/app-name.AppImage # 2. Create desktop entry nano ~/.local/share/applications/app-name.desktop # 3. Paste this template (edit as needed): [Desktop Entry] Type=Application Name=App Name Comment=Brief description Icon=/home/jl-kruger/Applications/app-icon.png Exec=/home/jl-kruger/Applications/app-name.AppImage Terminal=false Categories=Utility; # 4. Update database chmod +x ~/.local/share/applications/app-name.desktop update-desktop-database ~/.local/share/applications/ ``` --- ## 🎨 Extract Icon from AppImage ```bash # Extract AppImage contents ./app-name.AppImage --appimage-extract # Find icon find squashfs-root -name "*.png" | grep -i icon # Copy icon cp squashfs-root/path/to/icon.png ~/Applications/app-icon.png # Clean up rm -rf squashfs-root ``` --- ## 🔄 Update AppImage ```bash # 1. Download new version cd ~/Downloads # 2. Backup current version mv ~/Applications/app-name.AppImage ~/Applications/app-name.AppImage.old # 3. Install new version mv ~/Downloads/app-name-new.AppImage ~/Applications/app-name.AppImage chmod +x ~/Applications/app-name.AppImage # 4. Test ~/Applications/app-name.AppImage # 5. Remove backup once confirmed rm ~/Applications/app-name.AppImage.old ``` --- ## 🗑️ Remove AppImage ```bash # Complete removal rm ~/Applications/app-name.AppImage rm ~/Applications/app-icon.png rm ~/.local/share/applications/app-name.desktop update-desktop-database ~/.local/share/applications/ # Also remove app data (if exists) rm -rf ~/.config/app-name rm -rf ~/.local/share/app-name ``` --- ## 🔧 Troubleshooting ### Permission Denied ```bash chmod +x app-name.AppImage ``` ### FUSE Error ```bash # Install FUSE sudo apt install fuse libfuse2 # Or run without FUSE ./app-name.AppImage --appimage-extract ./squashfs-root/AppRun ``` ### Desktop Entry Not Appearing ```bash # Validate desktop-file-validate ~/.local/share/applications/app-name.desktop # Update database update-desktop-database ~/.local/share/applications/ # Restart panel xfce4-panel -r ``` ### Missing Libraries ```bash # Check what's missing ldd app-name.AppImage # Install common deps sudo apt install libfuse2 libgl1 libxcb1 ``` --- ## 📝 Desktop Entry Template ### Basic ```ini [Desktop Entry] Type=Application Name=App Name Exec=/home/jl-kruger/Applications/app-name.AppImage Icon=/home/jl-kruger/Applications/app-icon.png Terminal=false Categories=Utility; ``` ### With Multiple Actions ```ini [Desktop Entry] Type=Application Name=App Name Exec=/home/jl-kruger/Applications/app-name.AppImage Icon=/home/jl-kruger/Applications/app-icon.png Terminal=false Categories=Development; Actions=SafeMode;Debug; [Desktop Action SafeMode] Name=Safe Mode Exec=/home/jl-kruger/Applications/app-name.AppImage --safe-mode [Desktop Action Debug] Name=Debug Mode Exec=/home/jl-kruger/Applications/app-name.AppImage --debug ``` --- ## 📁 Recommended Directory Structure ``` ~/Applications/ ├── app1.AppImage ├── app1-icon.png ├── app2.AppImage ├── app2-icon.png └── README.md # Document what's installed ~/.local/share/applications/ ├── app1.desktop └── app2.desktop ``` --- ## 🎯 Common AppImage Commands ```bash # Get help (if supported) ./app-name.AppImage --appimage-help # Get version ./app-name.AppImage --appimage-version # Extract contents ./app-name.AppImage --appimage-extract # Self-integrate (if supported) ./app-name.AppImage --appimage-integrate # Check file type file app-name.AppImage # Should show: ELF 64-bit LSB executable # Test launch from desktop entry gtk-launch app-name # Check size du -h app-name.AppImage ``` --- ## 📊 Categories Reference Common categories for desktop entries: - **AudioVideo** - Media players, music apps - **Development** - IDEs, text editors, dev tools - **Education** - Learning software - **Game** - Games - **Graphics** - Image editors, viewers, design tools - **Network** - Browsers, email, chat - **Office** - Word processors, spreadsheets, notes - **Science** - Scientific applications - **Settings** - Configuration tools - **System** - System tools - **Utility** - General utilities (default) Use semicolon to separate multiple: ```ini Categories=Development;TextEditor;Utility; ``` --- ## 🔍 Find Installed AppImages ```bash # List all AppImages in Applications ls -lh ~/Applications/*.AppImage # Find all desktop entries ls ~/.local/share/applications/*.desktop # Search for specific app find ~/Applications -name "*app-name*.AppImage" # Check which apps are in menu grep -l "Exec.*AppImage" ~/.local/share/applications/*.desktop ``` --- ## 💡 Pro Tips ### Create Launcher Alias ```bash # Add to ~/.bashrc alias myapp='~/Applications/app-name.AppImage' # Use it myapp ``` ### Version in Filename ```bash # Keep track of versions mv app.AppImage app-v1.2.3.AppImage # Symlink to latest ln -s app-v1.2.3.AppImage app.AppImage # Desktop entry points to symlink Exec=/home/jl-kruger/Applications/app.AppImage ``` ### Batch Install Multiple AppImages ```bash for appimage in ~/Downloads/*.AppImage; do bash install-appimage.sh "$appimage" done ``` --- ## 🛡️ Security Check ```bash # Verify file type file app-name.AppImage # Check if downloaded correctly sha256sum app-name.AppImage # Compare with official checksum # Scan with ClamAV (if installed) clamscan app-name.AppImage ``` --- ## 🌐 Where to Find AppImages 1. **Project GitHub Releases** - `https://github.com/username/project/releases` 2. **Official Website** - Look for "Download for Linux" → AppImage option 3. **Verify Source** - Only download from official sources - Check file integrity with checksums --- ## 📞 Quick Help ```bash # Installation help bash install-appimage.sh # Check if working gtk-launch app-name # View desktop entry cat ~/.local/share/applications/app-name.desktop # Validate desktop entry desktop-file-validate ~/.local/share/applications/app-name.desktop ``` --- **Cheat Sheet Version:** 1.0 **For:** Linux Mint 22.2 Xfce **Date:** October 2025