Benutzerdefinierte Aktionen
Dieser Artikel wurde für die folgenden Ubuntu-Versionen getestet:
Dieser Artikel ist größtenteils für alle Ubuntu-Versionen gültig.
Zum Verständnis dieses Artikels sind folgende Seiten hilfreich:
Benutzerdefinierte Aktionen erweitern die Funktionalität des Dateimanagers Thunar und werden im Kontextmenü aufgeführt. Das erlaubt schnellen Zugriff auf diverse Kommandos und Programme aus dem Dateimanager heraus. In Kombination mit Skripten hat man mit dieser Funktion quasi unbegrenzte Möglichkeiten.
Es gibt zwei Wege, um Aktionen zu erstellen:
mit Thunar und dem Dialog "Bearbeiten → Benutzerdefinierte Aktionen..."
mit einem Editor
Thunar-Dialog¶
Als Beispiel soll eine Textdatei ausgedruckt werden. Das folgende Beispiel gilt nur für Ubuntu 12.04, da das Paket xfprint4 bei neueren Ubuntu-Versionen nicht mehr in den offiziellen Paketquellen enthalten ist. Alternativen sind im Artikel Xfce Power User Tips, Tricks & Tweaks: Working With Documents 🇬🇧 aufgeführt.
"Bearbeiten → Benutzerdefinierte Aktionen..." aufrufen,
Reiter Allgemein
Name:
Drucke Datei
Beschreibung:
Drucke Datei mit xfprint
Befehl:
xfprint4 %f
Reiter Dateizuordnung
Dateimuster:
*
[] Textdateien anwählen
OK
Die neue Aktion zum Drucken von Textdateien erscheint in den benutzerdefinierten Aktionen.
Einstellungen | |
Element | Inhalt |
neue Aktion hinzufügen | |
ausgewählte Aktion bearbeiten | |
angewählte Aktion entfernen | |
Aktionsmenü sortieren. |
Beispiele¶
Hier ein paar weitere Beispiele, um die Liste mit den Aktionen zu erweitern.
"Senden an"-Funktion¶
Einige der hier aufgeführten Aktionen lassen sich mit der "Senden an"-Funktion noch bequemer und übersichtlicher nutzen.
Archive entpacken mit unp¶
Das Perl-Skript unp muss zuerst installiert werden.
Name:
Entpacke hier...
Befehl:
unp %f
Dateizuordnung:
*.tar.bz2;*tar.gz;*.tbz2;*.zip;*.rar
Erscheint falls ausgewählt: Andere Dateien
Spiele Musik¶
Name:
Spiele mit Audacious
Befehl:
audacious2 %f
Dateizuordnung:
*.mp3;*.MP3
Erscheint falls ausgewählt: Ordner / Audio Dateien
Weitere Informationen im Artikel Audacious.
Enqueue Musik¶
Name:
Zu Audacious hinzufügen
Befehl:
audacious2 -e %f
Dateizuordnung:
*.mp3;*.MP3
Erscheint falls ausgewählt: Ordner / Audio Dateien
Brennen¶
Name:
Brenne mit K3b
Befehl:
k3b -cdimage %f
Dateizuordnung:
*.iso
Erscheint falls ausgewählt: Andere Dateien
Weitere Informationen im Artikel K3b.
Bilder anzeigen¶
Name:
Zeige mit Geeqie
Befehl:
geeqie %f
Dateizuordnung:
*
Erscheint falls ausgewählt: Ordner, Bilddateien
Weitere Informationen im Artikel Geeqie.
Konvertiere von PNG nach JPEG¶
Name:
png2jpg
Befehl:
convert %f -quality 75 %f.jpg
Dateizuordnung:
*.png;*.PNG
Erscheint falls ausgewählt: Bilddateien
Weitere Informationen im Artikel ImageMagick.
JPGs drehen¶
Name:
Rotiere JPEG-Dateien verlustfrei
Befehl:
for file in %f; do tempfile=$(mktemp); (jpegtran -rotate 90 $file > $tempfile); mv -f $tempfile $file; rm -f $tempfile; done
Dateizuordnung:
*.jpg;*.JPG;*.jpeg;*.JPEG
Erscheint falls ausgewählt: Bilddateien
Bilder drehen¶
Name:
Bild drehen
Befehl:
convert %f -rotate 90 %D/%N_turned
Beschreibung: Eine beliebige Bilddatei wird um 90° im Uhrzeigersinn gedreht – und am gleichen Ort als DATEINAME_turned ausgegeben. Funktioniert nicht bei JPG-Dateien.
Erscheint falls ausgewählt: Bilddateien
Exif-Daten entfernen¶
Name:
Exif-Daten löschen
Befehl:
jhead -purejpg %f
Dateizuordnung:
*.jpg;*.JPG;*.jpeg;*.JPEG
Erscheint falls ausgewählt: Bilddateien
Weitere Informationen im Artikel JHead.
Prüfsumme mit md5sum berechnen¶
Grafische Ausgabe der Prüfsumme mit md5sum:
Name:
md5sum-Prüfsumme
Befehl:
zenity --info --title="Create md5sum for %n" --text="$(md5sum %f)"
Dateizuordnung:
*.iso; *.img; *.usb
Erscheint falls ausgewählt: andere Dateien
Alternativ kann man auch eine Datei QUELLE.md5 erstellen lassen:
Name:
md5sum-Prüfsumme speichern
Befehl:
md5sum %f > %N.md5
Beschreibung: Die Prüfsumme der ausgewählten Datei berechnen und speichern
Erscheint falls ausgewählt: alle Dateien
Öffne in Terminal¶
Name:
Öffne in einem Terminal
Befehl:
terminal --working-directory=%d
Dateizuordnung:
*
Erscheint falls ausgewählt: Ordner
Weitere Informationen zum Terminal.
Öffne Shellskript in Terminal¶
Name: Öffne Shellskript (.sh) in Terminal
Beschreibung:
Führt das .sh Script im Terminal aus.
Befehl:
xfce4-terminal --hold --working-directory=%d -x ./%n
Dateizuordnung:
*.sh
Erscheint falls ausgewählt: Textdateien
Alternatives Terminal¶
Name:
Öffne in Terminal
Befehl:
cd /%f && xterm
Dateizuordnung:
*
Erscheint falls ausgewählt: Ordner
Root-Terminal¶
Name:
Öffne in Root-Terminal
Befehl:
cd /%f && gksudo xfce4-terminal
Dateizuordnung:
*
Erscheint falls ausgewählt: Ordner
Ordner als Root öffnen¶
Für dieses Script wird folgendes Paket benötigt:
gksu (universe bis 16.04)
Befehl zum Installieren der Pakete:
sudo apt-get install gksu
Oder mit apturl installieren, Link: apt://gksu
Name:
Ordner als root öffnen
Befehl:
gksudo "thunar %f"
Dateizuordnung:
*
Erscheint falls ausgewählt: Ordner
PDF verkleinern¶
Für dieses Script werden folgende Pakete benötigt:
zenity
ghostscript
Befehl zum Installieren der Pakete:
sudo apt-get install zenity ghostscript
Oder mit apturl installieren, Link: apt://zenity,ghostscript
Name:
Pdf verkleinern
Befehl:
if test -e verkleinert_%n; then if zenity --question --text 'die Datei verkleinert_%n existiert bereits. Soll sie überschrieben werden?'; then gs -sDEVICE=pdfwrite -dCompatibilityLevel=1.4 -dPDFSETTINGS=/ebook -dNOPAUSE -dQUIET -dBATCH -sOutputFile=verkleinert_%n %n && zenity --info --text "Pdf verkleinern abgeschlossen" --title "Fertig" || zenity --error --text "Pdf verkleinern fehlgeschlagen" --title "Fehler"; fi else gs -sDEVICE=pdfwrite -dCompatibilityLevel=1.4 -dPDFSETTINGS=/ebook -dNOPAUSE -dQUIET -dBATCH -sOutputFile=verkleinert_%n %n && zenity --info --text "Pdf verkleinern abgeschlossen" --title "Fertig" || zenity --error --text "Pdf verkleinern fehlgeschlagen" --title "Fehler" ; fi
Dateizuordnung:
*.pdf
Erscheint falls ausgewählt: pdf
Das Skript überprüft zunächst, ob bereits eine Datei gleichen Namens existiert und bietet ggf. an, diese zu überschreiben. Am Ende der Verkleinerung wird eine Meldung ausgegeben. Je nach Datei kann die Größe danach nur noch 20% betragen.
Im Dateinamen darf keine Klammer ()
vorkommen, da sonst ein Syntaxfehler wie "bash: Syntaxfehler beim unerwarteten Wort »(«". Diese Meldung sieht man in Thunar nicht (der Befehl wird dann nicht erfolgreich ausgeführt), sondern nur im Terminal, wenn der Befehl per Hand eingegeben wird.
Dateien senden über GNOME-Bluetooth¶
Name:
Senden über Bluetooth
Befehl:
bluetooth-sendto %f
Dateizuordnung:
*
Erscheint falls ausgewählt: Andere Dateien
Weitere Informationen im Artikel Bluetooth/GNOME-Bluetooth.
Zeit/Datum von Dateien und Ordnern ändern¶
Für diese Funktion wird folgendes Paket benötigt:
yad
Befehl zum Installieren der Pakete:
sudo apt-get install yad
Oder mit apturl installieren, Link: apt://yad
Name:
Datum/Zeit ändern
Befehl:
old=$(stat --printf=%%y -L %f | cut -c-19); new=$(yad --center --height=100 --width=600 --separator="" --form --field="Neues Datum/neue Zeit" "$old"); touch -cd "$new" %F
Dateizuordnung:
*
Erscheint falls ausgewählt: Alle Dateien und Ordner
Geändert wird die "modify time" (mtime), also die Zeit der letzten Inhaltsänderung, die für die Sortierung der Dateien relevant ist. Die Größe des Dialogfensters ist für ein Display mit 164 dpi ausgelegt und muss u.U. angepasst werden.
Dateisuche¶
Name:
Suche
Befehl:
catfish --fileman=thunar --path=%f
Dateizuordnung:
*
Erscheint falls ausgewählt: Ordner
Bei Bedarf können weitere Optionen angegeben werden. Weitere Informationen im Artikel Catfish (Abschnitt „Startmodi“).
Alternativ kann auch das Programm gnome-search-tool verwendet werden:
Name:
Gnome Suche
Befehl:
gnome-search-tool --path=%f
Dateizuordnung:
*
Erscheint falls ausgewählt: Ordner
Belegter Speicherplatz¶
Name:
Größe auf Datenträger
Befehl:
du -chs --apparent-size %N | zenity --text-info --title="Größe"
Dateizuordnung:
*
Erscheint falls ausgewählt: (alles aktivieren)
Symlink¶
Name:
symbolischer Link
Befehl:
ln -s %f 'Verknüpfung mit '%n''
Dateizuordnung:
*
Erscheint falls ausgewählt: Ordner; andere Dateien
Weitere Informationen im Artikel ln.
Netzwerkfreigaben erstellen¶
Achtung!
Aus Sicherheitsgründen sollte niemals das eigene Homeverzeichnis freigegeben werden, sondern nur ein einzelner Ordner innerhalb des Homeverzeichnis. Dazu bietet sich beispielsweise der bereits vorhandene Ordner ~/Öffentlich/ an.
Grundlage ist die Kenntnis des Artikels net usershare. Dabei handelt es sich um die "persönliche Freigabe" eines Ordners im eigenen Homeverzeichnis, die nicht mit einer systemweiten Freigabe verwechselt werden sollte (siehe Samba Server GNOME), auch wenn sie praktisch die gleiche Funktionalität bietet.
Name:
Im Netzwerk freigeben
Befehl:
net usershare add %n %f "" Everyone:F guest_ok=y && chmod 777 %f
Dateizuordnung:
*
Erscheint falls ausgewählt:
Ordner
Außerdem muss man dafür sorgen, das der Zugriff auf das eigene Homeverzeichnis überhaupt möglich ist:
chmod 755 $HOME
Quelle: Any GUI app to configure samba/file sharing on XFCE? 🇬🇧
Eine Alternative zu diesem Vorgehen ist der Einbau des Nautilus-Skripts SMBusershare als benutzerdefinierte Aktion in Thunar. Dieses Skript bietet etwas erweiterte Möglichkeiten und ermöglicht auch den Widerruf von Freigaben.
Netzwerkfreigaben entfernen¶
Um eine solche Freigabe wieder zu entfernen, nutzt man folgenden Befehl im Terminal:
net usershare delete FREIGABE
Des Weiteren ist zu beachten, dass zum problemlosen Zugriff die Rechte des freigegebenen Ordners auf 777
geändert wurden. Möchte man das rückgängig machen, nutzt man folgenden Befehl:
chmod 755 ORDNERNAME
Beide Vorgänge kann man auf Wunsch in einer Aktion zusammenfassen:
Name:
Netzwerkfreigabe entfernen
Befehl:
net usershare delete %n && chmod 755 %f
Dateizuordnung:
*
Erscheint falls ausgewählt:
Ordner
MP3-Playlist erstellen¶
Name:
Playlist erstellen
Befehl:
ls -w 1 -R . |egrep *.'[fF][lL][aA][cC]|[aA][pP][eE]|[wW][vV]|[wW][aA][vV]|[mM][pP][3]|[aA][aA][cC]|[oO][gG][gG]|[oO][gG][aA]|[wW][mM][aA]|[mM][pP][cC]|[mM][4][aA]' >playlist.m3u && todos playlist.m3u
Dateizuordnung:
*.mp3
Erscheint falls ausgewählt: Audiodateien
MP3-Convert¶
Das Skript mp3Convert.sh ⮷ von xubuntu.wordpress.com 🇬🇧 gestattet es, MP3-Dateien in der Qualität zu verringern. Gründe können unter anderem sein, dass der MP3-Player höhere Bitraten nicht abspielen kann oder lediglich der Speicherplatz nicht ausreicht. Das Skript herunterladen und in den Ordner ~/.config/Thunar/actions verschieben. Dort das Skript ablegen. Nun gilt es, dieses im Terminal [2] ausführbar [3] zu machen:
mkdir -p ~/.config/Thunar/actions #Ordner actions anlegen mv mp3Convert.sh ~/.config/Thunar/actions #Skript verschieben chmod 740 ~/.config/Thunar/actions/mp3Convert.sh #Rechte ändern
Name:
mp3Convert.sh
Befehl:
~/.config/Thunar/actions/mp3Convert.sh %f
Erscheint falls ausgewählt: Audiodateien
Um die vorgestellte Qualität (128 Kbps) zu ändern, bearbeitet man mit einem Editor [1] die Datei mp3Convert.sh.
Dateien sicher löschen¶
Für dieses Script werden folgende Pakete benötigt:
wipe (universe)
zenity
Befehl zum Installieren der Pakete:
sudo apt-get install wipe zenity
Oder mit apturl installieren, Link: apt://wipe,zenity
Das Skript thunar_secure_delete.sh ⮷:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 | #!/bin/bash zenity --question --title="Sicher löschen" --text="Diese Dateien/Ordner entgültig löschen?\n\nHinweis: Keine Wiederherstellung möglich!"; if [ $? != 1 ]; then param=$#; zaehler=0; fcnt=1; ( while [ "$zaehler" != $param ] do status=`expr $fcnt - 1`; echo $(($status*100/$param)) ; echo "# Lösche: $1" ; wipe -f -q -Q 1 -R /dev/zero -S r -r "$1"; echo $(($fcnt*100/$param)) ; echo "# Gelöscht: $1" ; shift fcnt=`expr $fcnt + 1`; zaehler=`expr $zaehler + 1`; done ) | zenity --progress \ --title="Sicher löschen" \ --text="initialisiere..." \ --percentage=0 \ --auto-close fi |
gestattet es, Dateien und Ordner durch Verwendung von wipe sicher zu löschen. Dabei werden die zu löschenden Dateien und Ordner zunächst mit Nullen überschrieben und dann gelöscht.
Das Skript erzeugt mittels Zenity eine Sicherheitsabfrage und einen Fortschrittsbalken, welcher nach erfolgreichem Löschen automatisch geschlossen wird. Das Skript herunterladen und den Ordner ~/.config/Thunar/actions erstellen (wie in obigen Beispiel für MP3-Convert). Dort das Skript ablegen. Nun gilt es, dieses im Terminal [2] ausführbar [3] zu machen:
mkdir -p ~/.config/Thunar/actions ##Ordner actions anlegen mv Downloads/thunar_secure_delete.sh ~/.config/Thunar/actions ##Skript verschieben chmod 740 ~/.config/Thunar/actions/thunar_secure_delete.sh ##Rechte ändern
Name:
Sicher löschen
Befehl:
~/.config/Thunar/actions/thunar_secure_delete.sh %f
Erscheint falls ausgewählt: Alles (Dateien und Ordner)
Symbol:
Orte/user-trash
Anstatt das Skript in ~/.config/Thunar/actions/ abzulegen, kann man es auch nach ~/bin/ kopieren. Damit bleibt es nicht nur auf Thunar beschränkt, sondern kann auch von anderen Dateimanagern genutzt werden. Außerdem ist das Verzeichnis ~/bin/ in der Systemvariablen $PATH
enthalten. Somit lassen sich alle Skripte und Programme, die dort abgelegt oder verlinkt sind, einfach mit ihrem Namen aufrufen, ohne den Pfad voranstellen zu müssen.
Das Skript kann man auch nach /etc/skel/bin/ kopieren (Root-Rechte erforderlich!). Das Verzeichnis /etc/skel/ enthält alle Vorlagen, die bei einem neuen Benutzer in dessen Homeverzeichnis kopiert werden. Dadurch steht allen neu angelegten Usern das Skript ebenfalls zur Verfügung.
shred¶
Eine andere Variante, die shred statt wipe verwendet (aber nicht bei Ordnern funktioniert):
Name:
Schredder
Befehl:
zenity --question --text="Sind Sie sicher?";if [ $? = 0 ]; then shred -fuz %F;else exit;fi
Erscheint falls ausgewählt: Alles außer Ordnern
Symbol:
Orte/user-trash
Programme mit Wine nutzen¶
In seltenen Fällen kann es vorkommen, dass der Wunsch besteht, bestimmte Dateien mit einem Windows-Programm zu öffnen. Das klappt allerdings nur unter der Voraussetzung, dass das jeweilige Programm fehlerfrei mit Wine funktioniert. Ein Beispiel, dass man noch entsprechend anpassen muss:
Name:
Windows Programm
Befehl:
winepath -w %f | xargs '-d\n' env wine start /unix ~/".wine/dosdevices/c:/Programme/ORDNER/PROGRAMM.exe"
Dateizuordnung:
*
Erscheint falls ausgewählt: z.B. Bilder
Mit GnuPG verschlüsseln¶
Voraussetzung ist GnuPG.
Für sich verschlüsseln¶
Die Datei wird mit dem eigenen GPG-Key verschlüsselt, die Ursprungsdatei N-mal überschrieben und gelöscht.
Name:
Verschlüsseln
Befehl:
gpg -e -r 0xGPG-KEY %f && shred -uzn N %f
(GPG-KEY und N ersetzen)Dateizuordnung:
*
Erscheint falls ausgewählt: Alle Dateien
Entschlüsseln¶
Um die verschlüsselten Dateien wieder entschlüsseln zu können.
Name:
Entschlüsseln
Befehl:
terminal -x gpg -o %n.entschlüsselt -d %f
Dateizuordnung:
*.gpg
Erscheint falls ausgewählt: Andere Dateien
Mit fremden Key verschlüsseln¶
Falls man z.B. per USB-Stick eine Datei weitergeben will, die nur vom Empfänger geöffnet werden soll, kann man auch mit dessen Key verschlüsseln. Es öffnet sich ein Terminal in dem man die Key-ID, den Namen oder die Email-Adresse eingeben muss.
Name:
Verschlüsseln für
Befehl:
terminal -x gpg -e %f
Dateizuordnung:
*
Erscheint falls ausgewählt: Alle Dateien
Bilder verkleinern und versenden¶
Unter Windows XP gibt es eine Funktion, dass man in der Explorer-Bilderansicht mehrere Bilder auswählen und diese "Per E-Mail versenden" kann. Die Bilder werden automatisch verkleinert und als Anhang einer neuen E-Mail hinzugefügt. Das folgende Skript kann dies übernehmen, wenn man es unter ~/.config/Thunar/resize.sh abspeichert.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 | #!/bin/bash ALLFILES="" # Zuerst alle Bilder verkleinern for FILE in "$@" do # Ersetze Leerzeichen durch Unterstriche BASENAME=`basename "$FILE" | sed 's/ /_/g'` rm -rf "/tmp/$BASENAME" convert -geometry 640x640 "$FILE" "/tmp/$BASENAME" ALLFILES+="--attach /tmp/$BASENAME " done # Nun die Bilder versenden. xdg-email $ALLFILES |
Das Skript ist sehr einfach und iteriert über alle Argumente ($@
). Im /tmp
-Verzeichnis wird dann mittels convert
eine kleinere Version abgespeichert, die eine Maximalbreite oder -höhe von 640 Pixel hat. Dies kann man nach Belieben anpassen, unter Windows ist dies für kleine Bilder so voreingestellt. Alle Bilder werden dann in eine Liste ALLFILES
gesteckt und mittels xdg-email
(Standardmailprogramm) verschickt.
Name:
Bilder verkleinern und versenden
Befehl:
~/.config/Thunar/resize.sh %f
Erscheint, falls ausgewählt: Bilddateien
Editor¶
Komfortabler ist es, wenn man die Einträge in einem Editor [1] vornimmt. Hierzu öffnet man die Datei uca.xml im Ordner ~/.config/Thunar und bearbeitet diese. Sofern sie noch nicht existiert, kann man diese einfach anlegen. Im folgenden Beispiel ist lediglich eine benutzerdefinierte Aktion hinterlegt: Dateien des vorgegebenen Formats sollen in Audacious wiedergegeben werden:
1 2 3 4 5 6 7 8 9 10 11 12 | <?xml encoding="UTF-8" version="1.0"?> <actions> <action> <icon>gnome-sound-properties</icon> <name>Spiele mit Audacious</name> <command>audacious %f</command> <description></description> <patterns>*.mp3,*.MP3</patterns> <directories/> <audio-files/> </action> </actions> |
Die Bedeutung der Elemente:
Einstellungen | |
Element | Inhalt |
<actions></actions> | leitet alle Aktionen ein/aus |
<action></action> | leitet die gerade definierte Aktion ein/aus |
<icon>BILD</icon> | Name des verwendeten Icons aus /usr/share/icons/hicolor |
<name>Wiki</name> | Name der für den Menüeintrag verwendet wird. |
<command>Test</command> | Befehl, welcher für den Programmstart verwendet wird - s. ggf. Manpages |
<description>ubuntuusers</description> | Beschreibung der Aktion. |
<patterns>*</patterns> | Dateiformate die genutzt werden sollen. |
<directories/> | Ordner |
<audio-files/> | Audiodateien |
<image-files/> | Bilddateien |
<other-files/> | andere Dateien |
<text-files/> | Textdateien |
<video-files/> | Videodateien |
Eigene Aktionen kann man nach obigem Muster einpflegen. Es muss lediglich der Grundaufbau beachtet werden:
1 2 3 4 5 6 7 8 9 10 11 12 | <?xml encoding="UTF-8" version="1.0"?> <actions> <action> eigene definierte Aktion 1 </action> <action> eigene definierte Aktion 2 </action> <action> ... </action> </actions> |
Thunar kann die Aktionen direkt verwenden. Eine fertige uca.xml als Beispiel ⮷ zum Herunterladen.
Links¶
Custom actions 🇬🇧 - Thunar-Wiki
Custom actions 🇬🇧 - Ubuntu-Wiki
Schlankes Werkzeug - Den Dateimanager Thunar mit individuellen Aktionen erweitern 🇩🇪 - Linux User, 10/2012
Thunar - Hauptartikel