Dieser Artikel wurde für Nautilus-Versionen geschrieben, die bis einschließlich Ubuntu 11.04 Verwendung finden. Für neuere Ubuntu-Versionen gilt der Artikel Nautilus ab Ubuntu 11.10.
Man kann den Dateimanager Nautilus durch Skripte erweitern. Diese Skripte sind einfache ausführbare Dateien. Diese Dateien werden im Verzeichnis ~/.gnome2/nautilus-scripts/ gespeichert und erweitern das Kontext-Menü um den neuen Punkt "Skripte".
Zur Installation [1] ist folgendes Paket notwendig:
nautilus-script-manager (universe [2])
mit apturl
Paketliste zum Kopieren:
sudo apt-get install nautilus-script-manager
sudo aptitude install nautilus-script-manager
Die Skripte werden im Ordner /usr/share/nautilus-scripts abgelegt. Mit dem Befehl nautilus-script-manager
können diese Skripte aktiviert werden [3]. Beispiele:
nautilus-script-manager enable ${Name des Skripts} # aktivieren eines Skripts nautilus-script-manager disable ${Name des Skripts} # deaktivieren eines Skripts nautilus-script-manager list-available ${Name des Skripts} # Liste aller in /usr/share/nautilus-scripts installierten Skripte nautilus-script-manager list-enabled ${Name des Skripts} # Liste aller aktivierten Skripte
Technisch gesehen macht nautilus-script-manager nichts anderes, als Links, die auf die Skripte in /usr/share/nautilus-scripts verweisen, in ~/.gnome2/nautilus-scripts anzulegen. Anschließend muss Nautilus neu gestartet werden, damit die Skripte verfügbar sind.
Zunächst muss das Skript nach ~/.gnome2/nautilus-scripts/entpackt [5] und ausführbar gemacht [6] werden.
Um das Skript zu verwenden, klickt man nun mit der rechten Maustaste auf eine Datei, die das Skript verwenden soll und wählt "Skripte -> SKRIPTNAME".
Falls das Skript auf einer Webseite vorliegt, markiert man den Text des Skriptes und kopiert diesen in einen Editor [4]. Das Skript speichert man dann in ~/.gnome2/nautilus-scripts/ ab und macht die Datei ausführbar [6].
Um das Skript zu verwenden, klickt man nun mit der rechten Maustaste auf eine Datei, die das Skript verwenden soll und wählt "Skripte -> SKRIPTNAME".
Man kann dem Skript natürlich auch ein Symbol verleihen oder es passend umbenennen.
Zunächst muss das Skript entpackt [5] und für alle Benutzer les- und ausführbar gemacht [6] werden. Danach muss das Skript in jedes einzelne Benutzerverzeichnis /home/*/.gnome2/nautilus-scripts/ kopiert werden.
Um das Skript zu verwenden, klickt man nun mit der rechten Maustaste auf eine Datei, die das Skript verwenden soll, und wählt "Skripte -> SKRIPTNAME".
Es können weitere erwähnenswerte Skripte aufgeführt werden.
Seit GNOME 2.10 gibt es ein Paket nautilus-open-terminal [1], das die gleiche Funktionalität erfüllt.
Es öffnet sich das GNOME-Terminal direkt in dem Verzeichnis, in dem auch Nautilus gerade ist, per Mausklick. Die Datei ~/.gnome2/nautilus-scripts/gnome-terminal mit einem Editor [4] anlegen, es muss nur eine Zeile drinstehen:
#!/bin/bash gnome-terminal
Es kann hilfreich sein, Dateien mit dem Firefox zu öffnen, zum Beispiel Flash-Dateien oder animierte Bilder.
Eine Datei ~/.gnome2/nautilus-scripts/firefox mit einem Editor [4] anlegen und mit diesem Inhalt füllen:
#!/bin/bash for FILE in "$@"; do firefox "$FILE" done
Eine Datei ~/.gnome2/nautilus-scripts/sendTo mit einem Editor [4] anlegen und mit diesem Inhalt füllen:
mozilla-thunderbird -compose attachment="file://$NAUTILUS_SCRIPT_SELECTED_FILE_PATHS"
1. Abhängig von der Thunderbird Version kann der Aufruf auch lediglich "thunderbird -compose ..." etc. lauten.
2. Leider funktioniert das Versenden mehrerer ausgewählter Dateien nicht.
Die Mini-Ansicht des Nautilus nennt sich Spatial-Modus; für aufgeräumte Ordner ist diese Ansicht auch wirklich besser als ein Browser. Für Ordner, in denen keine Ordnung herrscht oder für Systemarbeiten kann es mehr Sinn machen, schnell den Nautilus im Browser-Modus zu starten. Dieses lässt sich mit diesem Skript lösen. Der Vorteil: Nautilus öffnet direkt im richtigen Verzeichnis.
Die Datei ~/.gnome2/nautilus-scripts/nautilus-browser mit einem Editor [4] anlegen und mit diesem Inhalt füllen:
#!/bin/bash for FILE in "$@"; do nautilus --browser "$FILE" done
Sollte man vorhaben, Skripte für Nautilus zu entwickeln, hier noch ein paar Empfehlungen.
Skripte sollten komplett in deutscher Sprache sein
Skripte sollten als tar.bz2-Paket vorliegen
Nach Möglichkeit sollten als Skriptsprachen nur Bash und Python verwendet werden
Es sollten so wenige externe Programme wie nur irgend möglich verwendet werden. Es sei denn, etwas anderes ergibt keinen Sinn oder ist unmöglich. Benötigt man tatsächlich Programme, die nicht Teil von Ubuntu sind, so sollten sie über das Paketmanagement verfügbar sein. Das selbe gilt für Bibliotheken oder Python-Module.
Die Art der Skripte sollte für Nautilus ohne Dateiendung erkennbar sein. Dies ist zum Beispiel durch #!/bin/sh
(bei Shellskripten) möglich.
Die Namen der Skripte sollten eindeutig sein. Zum Beispiel: Bild rechts drehen'.
Gibt es gute Icons, welche die Funktion des Skriptes beschreiben? Sollte das der Fall sein, könnte man sie beilegen (Lizenz beachten).
Die meisten Skripte sollten eine graphische Rückgabe ihrer Arbeit liefern. Hierzu eignet sich zum Beispiel Zenity.
Unterstützung für mehrere übergebene Dateien, Ordner und Dateien mit Leer- oder Sonderzeichen im Namen.
Nautilus gibt beim Aufruf eines Skriptes eine Hand voll wichtiger Informationen als Umgebungsvariablen an das Skript weiter. Bei lokalen Pfaden werden zusätzlich die markierten Dateien oder Verzeichnisse als Argumente an das Skript übergeben. Innerhalb einer SSH- oder FTP-Sitzung ist das jedoch nicht möglich, dann ist diesbezüglich nur $NAUTILUS_SCRIPT_SELECTED_URIS
gesetzt.
(Lokale) Dateinamen werden der Reihe nach dem Skript angehängt. Das bedeutet, das Skript wird wie folgt aufgerufen: ~/.gnome2/nautilus-scripts/Skriptname <Datei1> <Datei2> ... <DateiN>
.
Andere Parameter sind als Umgebungsvariablen verfügbar
Erweiterte Parameter (Umgebungsvariablen) | |
NAUTILUS_SCRIPT_SELECTED_FILE_PATHS | Pfade der gewählten Dateien, die durch eine neue Zeile getrennt werden (falls lokal) |
NAUTILUS_SCRIPT_SELECTED_URIS | URIs der ausgewählten Dateien. Auch durch eine neue Zeile getrennt |
NAUTILUS_SCRIPT_CURRENT_URI | URI des aktuellen Ortes |
NAUTILUS_SCRIPT_WINDOW_GEOMETRY | Position und Größe des aktuellen Fensters |
Das Skript muss das Dateirecht Ausführbar haben [6]
Es gab Probleme mit Nautilus, so dass Skripte, die in der ersten Zeile z.B. #!/bin/bash
hatten, nicht angezeigt wurden. Diese Zeile entfernen sollte das Problem lösen.
Wahrscheinlich handelt es sich auch um einen Bug wie auf Gentoo Bugzilla Bug 85799 beschrieben, der auftritt, wenn u.a. shared-mime-info 0.15 verwendet wird. Demnach gibt es einen Fehler in der mimetype-Angabe unter /usr/share/mime/packages/freedesktop.org.xml. An der Stelle
<match value="/bin/bash" type="string" offset="1:16"/>
müsste ein #! ergänzt werden [4], also
<match value="#!/bin/bash" type="string" offset="1:16"/>
Einige nützliche Skripte können hier im Wiki unter Skripte oder auf der Projektseite gefunden werden.
Zum Bearbeiten von Symbolischen Links gibt es einen eigenen Artikel: Nautilus/Skripte/Symbolischer Link
Zum Durchsuchen von Textdateien gibt es einen eigenen Artikel: Nautilus/Skripte/Volltextsuche
Dieses Skript gibt einem die Möglichkeit Bilder in PDF-Dateien umzuwandeln, sowie mehrere PDF-Dokumente zu vereinen: Nautilus/Skripte/PDF Konvertierung
Obwohl der Titel des Artikels HOWTO: Rotate JPG images in GNOME’s Nautilus File Manager suggeriert, es ginge ausschließlich um das Drehen von Bildern, handelt es sich um eine Sammlung von 7 kleinen Werkzeuge, die den Umgang mit Bildern erleichtern.
Photo Converter verwendet dagegen im Hintergrund ImageMagick, um Bilder zu verkleinern.