Files
it-know-how/Linux/AppImage Programme einrichten.md

5.8 KiB

Unten eine vollständige, schrittweise Anleitung (auf Deutsch), wie du eine AppImage unter /opt ablegst, ins Startmenü einbindest und optional ein Icon extrahierst. Ich gebe dir Beispielbefehle — ersetze die Platzhalter durch den echten Dateinamen/deine App-Namen.

Voraussetzungen

  • Du brauchst sudo-Rechte.
  • AppImage-Datei (z. B. ExampleApp.AppImage) ist im Downloads-Ordner.

Schritt 1 — AppImage ausführbar machen Öffne ein Terminal und mache die Datei ausführbar:

cd ~/Downloads
chmod +x ExampleApp.AppImage

Schritt 2 — AppImage nach /opt verschieben Erstelle ein Unterverzeichnis unter /opt (z. B. /opt/exampleapp) und verschiebe die AppImage dort hin:

sudo mkdir -p /opt/exampleapp
sudo mv ExampleApp.AppImage /opt/exampleapp/
sudo chown -R root:root /opt/exampleapp

Optional: Um den Namen konsistent zu halten, kannst du die Datei umbenennen:

sudo mv /opt/exampleapp/ExampleApp.AppImage /opt/exampleapp/exampleapp.AppImage

Schritt 3 — Einfachen Startbefehl anlegen (Symlink oder Wrapper) Damit die App systemweit mit kurzem Namen startet, lege einen Symlink oder ein kleines Wrapper-Skript in /usr/local/bin an.

Variante A — Symlink:

sudo ln -s /opt/exampleapp/exampleapp.AppImage /usr/local/bin/exampleapp
sudo chmod +x /usr/local/bin/exampleapp

Variante B — Wrapper-Skript (empfohlen, falls Argumente weitergeleitet werden sollen):

sudo tee /usr/local/bin/exampleapp > /dev/null <<'EOF'
#!/bin/sh
exec /opt/exampleapp/exampleapp.AppImage "$@"
EOF
sudo chmod +x /usr/local/bin/exampleapp

Schritt 4 — Icon aus dem AppImage extrahieren (optional, aber empfohlen) Viele AppImages haben ein eingebettetes Icon (.DirIcon) oder eine .png-Datei. So extrahierst du es:

cd /tmp
/opt/exampleapp/exampleapp.AppImage --appimage-extract
# die extrahierten Dateien liegen jetzt in /tmp/squashfs-root

Suche das Icon:

ls squashfs-root | grep -i DirIcon || ls squashfs-root | grep -i png

Beispiel: wenn squashfs-root/.DirIcon vorhanden ist, kopiere es als PNG in die Icon-Hierarchie:

sudo mkdir -p /usr/share/icons/hicolor/256x256/apps
sudo cp squashfs-root/.DirIcon /usr/share/icons/hicolor/256x256/apps/exampleapp.png
sudo chmod 644 /usr/share/icons/hicolor/256x256/apps/exampleapp.png

(Optional) Icon-Cache aktualisieren:

sudo gtk-update-icon-cache /usr/share/icons/hicolor

Aufräumen:

rm -rf /tmp/squashfs-root

Hinweis: Wenn du die App nur für deinen Benutzer installierst, kopiere das Icon nach ~/.local/share/icons/hicolor/256x256/apps/ statt /usr/share/...

Schritt 5 — .desktop-Datei anlegen (Startmenü-Eintrag) Siehe auch hier: Linux .desktop Dateien Systemweit (für alle Benutzer):

sudo tee /usr/share/applications/exampleapp.desktop > /dev/null <<'EOF'
[Desktop Entry]
Name=ExampleApp
GenericName=Example Application
Comment=Beschreibung der Anwendung
Exec=/usr/local/bin/exampleapp %U
Icon=exampleapp
Terminal=false
Type=Application
Categories=Utility;Application;
StartupWMClass=ExampleApp
EOF

Alternativ für nur deinen Benutzer:

mkdir -p ~/.local/share/applications
tee ~/.local/share/applications/exampleapp.desktop > /dev/null <<'EOF'
[Desktop Entry]
Name=ExampleApp
GenericName=Example Application
Comment=Beschreibung der Anwendung
Exec=/usr/local/bin/exampleapp %U
Icon=/home/deinuser/.local/share/icons/hicolor/256x256/apps/exampleapp.png
Terminal=false
Type=Application
Categories=Utility;Application;
StartupWMClass=ExampleApp
EOF

Wichtige Felder:

  • Exec: Pfad zur ausführbaren Datei oder zu deinem Symlink (/usr/local/bin/exampleapp). %U erlaubt URLs/Dateien als Argumente.
  • Icon: entweder der einfache Icon-Name (ohne Endung), wenn du das Icon in /usr/share/icons/hicolor abgelegt hast, oder ein voller Pfad.
  • Categories: für die Kategorisierung im Menü (z. B. Utility, Development, Office).
  • Terminal=false, falls kein Terminal nötig.

Setze die richtigen Rechte:

sudo chmod 644 /usr/share/applications/exampleapp.desktop
# oder für user:
chmod 644 ~/.local/share/applications/exampleapp.desktop

Schritt 6 — Desktop-Datenbank aktualisieren (falls nötig) Für Systemmenüs:

sudo update-desktop-database

Für GNOME/andere DEs: in der Regel reicht Aus- und Einloggen oder Neustart des Shells/Session.

Schritt 7 — Testen

  • Öffne dein Startmenü / Activities und suche nach "ExampleApp".
  • Alternativ im Terminal: exampleapp (oder /opt/exampleapp/exampleapp.AppImage).

Optionale Hinweise

  • Automatische Updates: Manche AppImages unterstützen AppImageUpdate (z. B. mit zsync) oder du kannst AppImageLauncher verwenden, das AppImage-Integration & Updates verwaltet.
  • Sicherheitsaspekt: AppImages laufen nicht automatisch in einem Sandbox; für zusätzliche Isolation kannst du firejail verwenden.
  • Entfernen: Entferne /opt/exampleapp, den Symlink und die .desktop/Icons, um die App rückstandsfrei zu löschen.

Kurzbeispiel (kompakt) Angenommen Datei heißt ExampleApp.AppImage in ~/Downloads und dein Benutzername ist user:

cd ~/Downloads
chmod +x ExampleApp.AppImage
sudo mkdir -p /opt/exampleapp
sudo mv ExampleApp.AppImage /opt/exampleapp/exampleapp.AppImage
sudo ln -s /opt/exampleapp/exampleapp.AppImage /usr/local/bin/exampleapp
# Icon extrahieren (falls vorhanden)
/opt/exampleapp/exampleapp.AppImage --appimage-extract
sudo cp squashfs-root/.DirIcon /usr/share/icons/hicolor/256x256/apps/exampleapp.png
rm -rf squashfs-root
# .desktop anlegen
sudo tee /usr/share/applications/exampleapp.desktop > /dev/null <<'EOF'
[Desktop Entry]
Name=ExampleApp
Exec=/usr/local/bin/exampleapp %U
Icon=exampleapp
Terminal=false
Type=Application
Categories=Utility;
EOF
sudo chmod 644 /usr/share/applications/exampleapp.desktop
sudo update-desktop-database

Wenn du willst, schreibe mir:

  • Wie die AppImage-Datei heißt, und
  • ob du die Installation systemweit (für alle Benutzer) oder nur für dich wünschst. Dann passe ich die Befehle genau für deine App an.