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=trueErweiterte %-Variablen
In den Exec-Parametern kannst du verschiedene %-Variablen verwenden, um Informationen über die ausgewählten Dateien und Verzeichnisse zu übergeben:
| Token | Beschreibung | Beispiel für die Ersetzung |
|---|---|---|
| %U | URIs der ausgewählten Dateien. (Standardmäßig durch Leerzeichen getrennt, anpassbar über die Einstellung „Trennzeichen“) | file:///home/bob/Documents/cute_dog.png |
| %F | Absolute Pfade der ausgewählten Dateien. (Standardmäßig durch Leerzeichen getrennt, anpassbar über die Einstellung „Trennzeichen“) | /home/bob/Documents/cute_dog.png /home/bob/Documents/ugly_cat.png |
| %P | Pfad des aktuellen Verzeichnisses. | /home/bob/Documents |
| %f | Anzeigename der ersten ausgewählten Datei. | cute_dog.png |
| %p | Anzeigename des aktuellen Verzeichnisses. | Documents |
| %D | Gerätepfad der ausgewählten Datei. | /dev/sdb1 |
| %e | Wie %f, jedoch ohne Dateiendung. | output_mono |
| %% | Literales %-Zeichen. | % |
| %X | XID für das NemoWindow, in dem diese Aktion aktiviert wird. | 39845898 |
| %N | Veraltet. Entspricht %f. | cute_dog.png |
Hinweis: Gehe nicht davon aus, dass sich die ausgewählten Dateien direkt unter %p befinden. Der Grund dafür ist, dass der Benutzer möglicherweise die Baumansicht von Nemo verwendet, dann auf die Dreieckschaltflächen geklickt hat, um Verzeichnisse zu erweitern, und anschliessend Dateien von dort ausgewählt hat.
Die oben dargestellte Tabelle ist aus dem Dokument https://github.com/linuxmint/nemo/wiki/Documentation entnommen und von meiner KI des «Vertrauens» übersetzt.
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 ghostscriptKopiere 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=trueDa 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=trueBeispiel Skript zum Komprimieren eines PDF Files
Erstelle ein Skript, das die eigentliche Komprimierung durchführt.
Erstelle das Skript im Home-Verzeichnis:
nano ~/compress_pdf.shFü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
<br>
<strong>/screen</strong> wählt eine Ausgabe mit niedriger Auflösung, ähnlich der Einstellung.
<br>
<strong>/ebook</strong> wählt eine Ausgabe mit mittlerer Auflösung.
<br>
<strong>/printer</strong> wählt eine Ausgabe die für den Druck geeignet ist.
<br>
<strong>/prepress</strong> wählt eine Ausgabe, die der Acrobat Distiller-Einstellung „Prepress Optimized“ (bis Version X) entspricht.
<br>
<strong>/default</strong> 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
Da es nicht ganz einfach ist Informationen/Dokumentation zu Nemo Actions zu finden hier noch ein paar Links zu den Github Repositorys von Linux Mint mit den Beschreibungen der Nemo Actions:
https://github.com/linuxmint/nemo/wiki/Documentation
https://github.com/linuxmint/nemo/blob/master/files/usr/share/nemo/action-info.md
https://github.com/linuxmint/nemo/wiki/Actions-Quick-Reference
https://github.com/linuxmint/nemo/blob/master/files/usr/share/nemo/actions/sample.nemo_action
Viel Spass beim Experimentieren und Anpassen deiner Nemo-Aktionen!

