Alexander2
Fleet Admiral
- Registriert
- Aug. 2014
- Beiträge
- 16.840
Flatpak Programme haben ungelenke Namen für das Terminal
Als Einleitung warum überhaupt.
Ich habe bei mir ein Fedora Atomic installiert, die Variante Kionite. Daher ist es so, das ich sehr stark auf Flatpaks setze und das funktioniert auch ganz wunderbar. Zumindest bei meinem Rechner ist auch kein Nachteil in sachen Performance oder so zu bemerken. Ein paar wenige Programme habe ich dann wegen der Kompatibilität mit anderen oder wegen Hardwarezugriff als Native Systempakete installiert wenn man so will, das nur nebenbei.Als Beispiel das Programm Kate (ein Texteditor - kennen wohl die meisten Linux Nutzer) wollte ich nun schon mehrmals im Terminal zum Öffnen von Dateien nehmen.
Der Punkt
Was mich jetzt schon öfters gestört hatte ist das weil es als ein Flatpak installiert ist kann ich im Terminal nicht einfach
Code:
kate meinetextdatei.txt
Bash:
flatpak run org.kde.kate meinetextdatei.txt
Daher nun der versuch einmal die KI mir was basteln zu lassen und mal sehen was dabei herauskommt.
In kurz habe ich die KI aufgefordert mir eine Liste in lowercase (erst durch die Ergänzung) Aliasen für das Terminal zu erstellen. Bzw. besser gesagt ein Script dafür die Liste zu erstellen.
Das Ergebnis
funktionierte auf Anhieb nach der Eingangsfrage und enthielt sogar mehr als direkt gefragt war. Eine Einbindung in die bashrc oder zshrc wurde gleich mit angeboten (einmalig manuell auszuführen).Ich habe mir das Script der KI angesehen und danach getestet und es funktioniert einwandfrei. Wenn sich die als Flatpak installierten Programme ändern muss man selbstständig das Script noch einmal ausführen, wenn man denn wollte um die Alias Liste zu erneuern.
Nicht berücksichtigt werden evtl. Probleme mit bereits vorhandenen Programmen selben Namens, da muss man selber drauf achten (Das Problem habe ich nicht. Bisher jedenfalls)
Es werden (sogar von der KI selbstständig so gewählt) nur Programme und keine Laufzeiten etc. als Alias abgefragt.
Script/Datei
Angefügt ne Open Document Textdatei mit den Ausgaben der KIund hier direkt das lowercase Ergebnis als Codeblock, falls das evtl. noch jemand nützlich findet. (Bitte selber gegenchecken und nicht Blind vertrauen, ich hafte nicht für Fehler oder ähnlichem, alles auf eigene Verantwortung und Risiko.
Bash:
#!/bin/bash
# Überprüfe, ob Flatpak installiert ist
if ! command -v flatpak &> /dev/null; then
echo "Fehler: Flatpak ist nicht installiert. Bitte installiere Flatpak zuerst."
exit 1
fi
# Erstelle eine temporäre Datei für die Aliase
ALIAS_FILE="$HOME/.flatpak_aliases"
# Leere die Datei, falls sie bereits existiert
> "$ALIAS_FILE"
# Hole alle installierten Flatpak-Programme
flatpak_list=$(flatpak list --app --columns=application)
# Verarbeite jedes Flatpak-Programm
while read -r line; do
# Extrahiere die Anwendungs-ID (z. B. "org.kde.kate")
app_id=$(echo "$line" | awk '{print $1}')
# Extrahiere den einfachen Namen (z. B. "kate" aus "org.kde.kate") und konvertiere ihn in lowercase
simple_name=$(echo "$app_id" | awk -F. '{print tolower($NF)}')
# Erstelle den Alias-Eintrag (z. B. "alias kate='flatpak run org.kde.kate'")
echo "alias $simple_name='flatpak run $app_id'" >> "$ALIAS_FILE"
echo "Alias für $app_id erstellt: $simple_name"
done <<< "$flatpak_list"
echo ""
echo "Aliase wurden in $ALIAS_FILE gespeichert."
echo "Füge die folgenden Zeilen in deine ~/.bashrc oder ~/.zshrc ein, um die Aliase zu aktivieren:"
echo ""
echo "# Flatpak Aliase"
echo "if [ -f \"$ALIAS_FILE\" ]; then"
echo " source \"$ALIAS_FILE\""
echo "fi"
echo ""
echo "Danach starte ein neues Terminal oder führe 'source ~/.bashrc' (oder ~/.zshrc) aus."
ACHTUNG
In Zeile 13 - wird potenziell eine Datei überschrieben mit dem selben Namen ohne Inhalt. Dazu ist in Zeile 10 angegeben welche Datei das wäre.In Zeile 27 - wird in genau die Datei Text ergänzt, also hineingeschrieben.