RSS
 

Windows „Senden an“ in Ubuntus Nautilus mit Nautilus Scripts

13 Nov

Unter Windows habe ich den Explorer Kontextmenüeintrag „Senden an“ sehr intensiv genutzt. Vor allem die Option „E-Mail-Empfänger“ und die Möglichkeit die ausgewählte Datei unabhängig von ihrem Mime-Type an einen Texteditor zu senden fand ich praktisch. Für letzteres muss man im versteckten Ordner SendTo im eigenen Profilordner eine Verknüpfung zum gewünschten Editor erstellen. Erst dann erscheint das Programm im Senden an Kontextmenü.

Screenshot: Senden an Menü unter Windows XP

Im Dateimanager Nautilus unter Ubuntu ist diese Funktionalität nicht von Haus aus vorhanden, aber man kann sie mit Nautilus Scripts und etwas Terminal-Tipperei nachrüsten.

Nautilus Scripts liegen im Verzeichnis ~/.gnome2/nautilus-scripts/. Alle dort vorhandenen Scripts werden bei einem Rechtsklick im Nautilus im Kontextmenüeintrag Scripts zur Auswahl angeboten.

Das Script zum Öffnen der ausgewählten Dateien in gedit habe ich von Patrick Largey übernommen. Zuerst muss eine Datei mit dem Namen des gewünschten Scripts im Scriptordner angelegt werden und diese bearbeitet werden:

ubuntu@ubuntu:~$ touch ~/.gnome/nautilus-scripts/open\ with\ gedit
ubuntu@ubuntu:~$ gedit ~/.gnome2/nautilus-scripts/open\ with\ gedit

 

#!/bin/bash
#
# Nautilus script -> open gedit
#
# Owner : Largey Patrick from Switzerland
#   	  patrick.largey@nazeman.org
#	  www.nazeman.org
#
# Licence : GNU GPL
#
# Copyright (C) Nazeman
#
# Encoding UTF-8
#
# Ver. 0.9-1 Date: 04.04.2003
# Add compatibilty with Nautilus 2.x
#
# Ver. 0.9-1 Date: 16.02.2002
# Add multiple file open in the same windows
#
# Ver: 0.9  Date: 27.10.2001
# Initial release
#
# Dependence : Nautilus (of course)
#	       Gnome-utils (gdialog)
#
curpath=`echo $NAUTILUS_SCRIPT_CURRENT_URI | sed 's/file:////'`
cd $curpath
filesall=""
while [ $# -gt 0 ]
	do
		files=`echo "$1" | sed 's/ /?/g'`
		filesall="$files $filesall"
		shift
	done
gedit $filesall&

Nach dem Speichern muss die Datei noch ausführbar gemacht werden:

ubuntu@ubuntu:~$ chmod u+x ~/.gnome2/nautilus-scripts/open\ with\ gedit

Als Ausgangsbasis für das Senden von Dateien via Email durch Thunderbird habe ich Andreas Müllers Script aus dem Jahr 2005 genommen (direkter Link zum Script). Seit 2005 hat sich aber sowohl bei Gnome als auch bei Mozillas Thunderbird einiges getan und so unterscheidet sich das von mir erstellte Script relativ stark von Andreas‘:

#!/bin/sh
# Author : Julian Mollik
# Creation Date : 16/10/2011
# Licence : GNU GPL
#
# opens a new Mozilla Thunderbird compose window and adds the
# given files as an attachment
#
#

# set variables
thunderbird_path="/usr/bin/thunderbird"
current_uri=`echo "$NAUTILUS_SCRIPT_CURRENT_URI/" | sed 's/file:\//file:\/\//g'`
desktop_indicator="/home/"

# build the files string for the attachment
filesall=""
while [ $# -gt 0 ]
	do
		current_file=`echo "$1"`
		case $current_file in
			"$desktop_indicator"*)
				filesall="file:///$current_file,$filesall" ;;
			*)
				filesall="$current_uri$current_file,$filesall" ;;
		esac
		shift
	done

# remove the last comma from the files string
filesall=`echo "${filesall%?}"`

# open the thunderbird compose window with the comma
# separated attachment string as parameter
$thunderbird_path -compose "attachment='$filesall'"
done

Zur Erklärung:In Zeile 12 wird der Pfad zu Thunderbird definiert. Zeile 13 macht aus „file:///…“ des $NAUTILUS_SCRIPT_CURRENT_URI ein „file:////…„, weil sonst Thunderbird den Pfad des Attachments nicht akzeptiert.

Seltsamerweise liefert die Script-Engine von Nautilus bei einer direkt auf dem Desktop angeklickten Datei den vollständigen Pfad anstatt nur den Namen der Datei. Zeile 14 definiert den Indikator anhand dessen erkannt wird ob eine Datei vom Desktop aus gesendet werden soll. In Zeile 22 wird überprüft ob der aktuelle Dateipfad mit diesem Desktop-Indikator beginnt und falls dem so ist wird statt dem modifizierten $NAUTILUS_SCRIPT_CURRENT_URI nur ein „file:///“ vorangestellt.

In Zeile 31 wird das letzte Komma vom Attachment-String entfernt damit dieser den Mozilla Thunderbird Kommandozeilenparamterspezifikationen entspricht.

Kleine Einschränkung: Das Script funktioniert aufgrund des Zugriffs via file:// nicht auf entfernten Dateisystemen (z.B. smb://192.168.1.100/…). In dem Fall wird das Emailfenster zwar geöffnet, aber kein Attachment angehängt.

Screenshot: Nautilus Scripts Menü unter Ubuntu 11.10

 
 

Kommentare