Homepage (site/index.html): integration-v14 promoted, Writings section integrated with 33 pieces clustered by type (stories/essays/miscellany), Writings welcome lightbox, content frame at 98% opacity. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
354 lines
6.5 KiB
Markdown
354 lines
6.5 KiB
Markdown
# 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
|