Nemo, der Dateimanager von Linux Mint, bietet eine nützliche Funktion namens «Nemo Actions». Mit diesen benutzerdefinierten Aktionen können Benutzer spezifische Befehle oder Skripte direkt aus dem Kontextmenü von Dateien und Ordnern ausführen. In diesem Blogbeitrag werde ich erklären, wie du Nemo Actions erstellst und anpasst, um dein Linux Mint Erlebnis zu verbessern.
Was sind Nemo Actions?
Nemo Actions ermöglichen es dir, benutzerdefinierte Befehle oder Skripte auszuführen, indem du eine Aktion im Kontextmenü auswählst. Diese Aktionen sind besonders nützlich für wiederkehrende Aufgaben oder spezielle Workflows. Du kannst beispielsweise Aktionen erstellen, um Dateien zu komprimieren, Metadaten zu bearbeiten oder Dateitypen zu konvertieren.
Grundlegende Parameter einer Nemo Action.
Eine typische .nemo_action Datei enthält mehrere wichtige Parameter:
Name: Der Name der Aktion, wie er im Kontextmenü angezeigt wird.
Comment: Eine kurze Beschreibung der Aktion.
Exec: Der auszuführende Befehl oder das Skript.
Icon-Name: Der Name des Icons, das neben der Aktion angezeigt wird.
Selection: Gibt an, wann die Aktion verfügbar ist (z.B. any, s, m, n, o).
Extensions: Eine Liste von Dateierweiterungen, für die die Aktion gilt.
Mimetypes: Eine Liste von MIME-Typen, für die die Aktion gilt.
Quote: Wie Dateinamen im Befehl zitiert werden (double oder single).
EscapeSpaces: Gibt an, ob Leerzeichen in Dateinamen durch Backslashes ersetzt werden sollen (true oder false).
Conditions: Zusätzliche Bedingungen für die Anzeige der Aktion.
Directories: Gibt an, ob die Aktion auch für Verzeichnisse gilt.
Schemes: Eine Liste von URI-Schemata, für die die Aktion gilt.
Parameters: Zusätzliche Parameter, die an den Befehl übergeben werden.
StartupNotify: Gibt an, ob eine Startbenachrichtigung gesendet werden soll.
Beispiel einer Nemo Action
Hier ist ein einfaches Beispiel einer .nemo_action Datei, die ein PDF-Dokument komprimiert:
[Nemo Action]
Name=PDF komprimieren
Comment=Komprimiere das ausgewählte PDF-Dokument
Exec=<compress_pdf %F>
Icon-Name=document-save
Selection=any
Extensions=pdf;
Mimetypes=application/pdf;
Quote=double
EscapeSpaces=true
Erweiterte %-Variablen
In den Exec-Parametern kannst du verschiedene %-Variablen verwenden, um Informationen über die ausgewählten Dateien und Verzeichnisse zu übergeben:
%f: Der vollständige Pfad zur ersten ausgewählten Datei.
%F: Eine durch Leerzeichen getrennte Liste der vollständigen Pfade zu allen ausgewählten Dateien.
%d: Der Pfad zum Verzeichnis, das die ausgewählten Dateien enthält.
%D: Eine durch Leerzeichen getrennte Liste der Verzeichnisse, die die ausgewählten Dateien enthalten.
%h: Der Name des Heimatverzeichnisses des Benutzers.
%H: Der vollständige Pfad zum Heimatverzeichnis des Benutzers.
%n: Der Name der ersten ausgewählten Datei (ohne Pfad).
%N: Eine durch Leerzeichen getrennte Liste der Namen aller ausgewählten Dateien (ohne Pfad).
%u: Der URI der ersten ausgewählten Datei.
%U: Eine durch Leerzeichen getrennte Liste der URIs aller ausgewählten Dateien.
%i: Der MIME-Typ der ersten ausgewählten Datei.
%I: Eine durch Leerzeichen getrennte Liste der MIME-Typen aller ausgewählten Dateien.
%m: Die MIME-Beschreibung der ersten ausgewählten Datei.
%M: Eine durch Leerzeichen getrennte Liste der MIME-Beschreibungen aller ausgewählten Dateien.
Icons für Nemo Actions
Die Wahl eines passenden Icons kann die Benutzerfreundlichkeit deiner Aktionen verbessern. Hier ist eine Liste häufig verwendeter Icons:
document-save – Speichern
document-open – Öffnen
document-print – Drucken
text-x-generic – Allgemeines Textdokument
application-pdf – PDF-Dokument
application-msword – Microsoft Word-Dokument
image-x-generic – Allgemeines Bild
audio-x-generic – Allgemeine Audiodatei
video-x-generic – Allgemeine Videodatei
Diese Icons sind Teil der Standard-Symbolthemen wie Adwaita oder Papirus und sind normalerweise in den Verzeichnissen /usr/share/icons oder ~/.icons zu finden.
Installation von Nemo Actions
Um eine Nemo Action zu installieren, muss du folge diesen Schritten ausführen:
Erstelle die .nemo_action Datei: Erstelle eine Textdatei mit der Endung .nemo_action, die die Parameter und den Befehl deiner Aktion enthält. Speichere diese Datei an einem geeigneten Ort, zum Beispiel in deinem Heimatverzeichnis.
Stelle sicher, dass ghostscript
installiert ist, da es zum Komprimieren von PDF-Dateien verwendet wird.
sudo apt-get update
sudo apt-get install ghostscript
Kopiere die Datei in das Nemo-Aktionen Verzeichnis: Verschiebe oder kopiere die Datei in das Verzeichnis ~/.local/share/nemo/actions/. Falls dieses Verzeichnis nicht existiert, erstelle es:
mkdir -p ~/.local/share/nemo/actions/
cp /path/to/your_action.nemo_action ~/.local/share/nemo/actions/
Beispiel für die Action Datei
[Nemo Action]
Name=PDF komprimieren
Comment=Komprimiere das ausgewählte PDF-Dokument
Exec=<scripts/compress_pdf.sh %F>
Icon-Name=document-save
Selection=any
Extensions=pdf;
Mimetypes=application/pdf;
Quote=double
EscapeSpaces=true
Da für die Komprimierung der PDF-Datei nur ein Kommando benötigt wird, kann man das Kommando auch direkt in die Action Datei schreiben.
[Nemo Action]
Active=true
Name=PDF File komprimieren
Comment=PDF File komprimieren
Exec=gs -sDEVICE=pdfwrite -dPDFSETTINGS=/print -dNOPAUSE -dQUIET -dBATCH -sOutputFile="%F_smal.pdf" %F
Icon-Name=pdf
Selection=any;
Extensions=pdf
Terminal=true
Beispiel Skript zum Komprimieren eines PDF Files
Erstelle ein Skript, das die eigentliche Komprimierung durchführt.
Erstelle das Skript im Home-Verzeichnis:
nano ~/compress_pdf.sh
Füge den folgenden Inhalt in diese Datei ein:
#!/bin/bash
for file in "$@"; do
output="${file%.pdf}-compressed.pdf"
echo $output
gs -sDEVICE=pdfwrite -dCompatibilityLevel=1.4 -dPDFSETTINGS=/printer -dNOPAUSE -dQUIET -dBATCH -sOutputFile="$output" "$file"
if [ $? -eq 0 ]; then
notify-send "PDF komprimiert" "Die Datei $file wurde erfolgreich komprimiert zu $output"
else
notify-send "Fehler" "Die Datei $file konnte nicht komprimiert werden"
fi
done
-dPDFSETTINGS=Konfiguration
/screen wählt eine Ausgabe mit niedriger Auflösung, ähnlich der Einstellung.
/ebook wählt eine Ausgabe mit mittlerer Auflösung.
/printer wählt eine Ausgabe die für den Druck geeignet ist.
/prepress wählt eine Ausgabe, die der Acrobat Distiller-Einstellung „Prepress Optimized“ (bis Version X) entspricht.
/default wählt eine Ausgabe, die für eine Vielzahl von Anwendungen geeignet ist, möglicherweise auf Kosten einer grösseren Ausgabedatei.
Mache das Skript ausführbar:
chmod +x ~/compress_pdf.sh
Verschiebe das Script in das Verzeichniss: ~/.local/share/nemo/actions/scripts
Nemo neu starten: Um die Änderungen zu übernehmen, starte Nemo neu. Das kannst du tun, indem du Nemo einfach schliesst und wieder öffnest, oder indem du den folgenden Befehl im Terminal ausführst:
nemo -q
nemo &
Aktion testen: Klicke mit der rechten Maustaste auf eine Datei oder ein Verzeichnis, um das Kontextmenü zu öffnen, und überprüfe, ob deine neue Aktion verfügbar ist.
Fazit
Nemo Actions bieten eine leistungsstarke Möglichkeit, den Dateimanager von Linux Mint an deine Bedürfnisse anzupassen. Mit benutzerdefinierten Aktionen kannst du deine Workflows optimieren und häufig wiederkehrende Aufgaben effizienter gestalten. Die Verwendung von %-Variablen und passenden Icons ermöglicht es dir, diese Aktionen noch weiter zu individualisieren.
Wenn du mehr über Nemo Actions erfahren möchtest oder nach weiteren Beispielen suchst, empfehle ich dir, die folgenden GitHub-Repositories zu besuchen:
smurphos / nemo_actions_and_cinnamon_scripts
Alfcx / linux-mint-nemo-actions
kelebek333 / nemo-actions Public
Viel Spass beim Experimentieren und Anpassen deiner Nemo-Aktionen!