Dieser Artikel ist größtenteils für alle Ubuntu-Versionen gültig.
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
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,
anwählen,
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. |
Hier ein paar weitere Beispiele, um die Liste mit den Aktionen zu erweitern.
Einige der hier aufgeführten Aktionen lassen sich mit der "Senden an"-Funktion noch bequemer und übersichtlicher nutzen.
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
Name: Spiele mit Audacious
Befehl: audacious2 %f
Dateizuordnung: *.mp3;*.MP3
Erscheint falls ausgewählt: Ordner / Audio Dateien
Weitere Informationen im Artikel Audacious.
Name: Zu Audacious hinzufügen
Befehl: audacious2 -e %f
Dateizuordnung: *.mp3;*.MP3
Erscheint falls ausgewählt: Ordner / Audio Dateien
Name: Brenne mit K3b
Befehl: k3b -cdimage %f
Dateizuordnung: *.iso
Erscheint falls ausgewählt: Andere Dateien
Weitere Informationen im Artikel K3b.
Name: Zeige mit Geeqie
Befehl: geeqie %f
Dateizuordnung: *
Erscheint falls ausgewählt: Ordner, Bilddateien
Weitere Informationen im Artikel Geeqie.
Name: png2jpg
Befehl: convert %f -quality 75 %f.jpg
Dateizuordnung: *.png;*.PNG
Erscheint falls ausgewählt: Bilddateien
Weitere Informationen im Artikel ImageMagick.
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
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
Name: Exif-Daten löschen
Befehl: jhead -purejpg %f
Dateizuordnung: *.jpg;*.JPG;*.jpeg;*.JPEG
Erscheint falls ausgewählt: Bilddateien
Weitere Informationen im Artikel JHead.
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
Name: Öffne in einem Terminal
Befehl: terminal --working-directory=%d
Dateizuordnung: *
Erscheint falls ausgewählt: Ordner
Weitere Informationen zum 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
Name: Öffne in Terminal
Befehl: cd /%f && xterm
Dateizuordnung: *
Erscheint falls ausgewählt: Ordner
Name: Öffne in Root-Terminal
Befehl: cd /%f && gksudo xfce4-terminal
Dateizuordnung: *
Erscheint falls ausgewählt: Ordner
Für dieses Script wird folgendes Paket benötigt:
gksu
mit apturl
Paketliste zum Kopieren:
sudo apt-get install gksu
sudo aptitude install gksu
Name: Ordner als root öffnen
Befehl: gksudo "thunar %f"
Dateizuordnung: *
Erscheint falls ausgewählt: Ordner
Für dieses Script werden folgende Pakete benötigt:
zenity
ghostscript
mit apturl
Paketliste zum Kopieren:
sudo apt-get install zenity ghostscript
sudo aptitude install 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.
Name: Senden über Bluetooth
Befehl: bluetooth-sendto %f
Dateizuordnung: *
Erscheint falls ausgewählt: Andere Dateien
Weitere Informationen im Artikel Bluetooth/GNOME-Bluetooth.
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.
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
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)
Name: symbolischer Link
Befehl: ln -s %f 'Verknüpfung mit '%n''
Dateizuordnung: *
Erscheint falls ausgewählt: Ordner; andere Dateien
Weitere Informationen im Artikel ln.
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?
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
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
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.
Für dieses Script werden folgende Pakete benötigt:
wipe (universe)
zenity (universe)
mit apturl
Paketliste zum Kopieren:
sudo apt-get install wipe zenity
sudo aptitude install 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.
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
Voraussetzung ist GnuPG.
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
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
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
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
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.
Custom actions - Thunar-Wiki
Custom actions - Ubuntu-Wiki
Schlankes Werkzeug - Den Dateimanager Thunar mit individuellen Aktionen erweitern - Linux User, 10/2012
Thunar - Hauptartikel
Diese Revision wurde am 12. März 2017 16:08 von aasche erstellt.