Wie kann ich ein Nautilus-Skript installieren?


Antworten:


37

Angenommen, Sie möchten das folgende Skript installieren, das Sie beim Browsen von Ask Ubuntu gefunden haben:

#!/bin/bash
## Sample Script 0.1
## Dependencies: notify-osd

notify-send "Sample nautilus script" "You Selected $NAUTILUS_SCRIPT_SELECTED_FILE_PATHS"

Abhängigkeiten

Das Erste, was Sie bemerken werden, ist, dass viele Skripte nicht sofort verfügbar sind. Manchmal hängen sie von anderen Paketen ab, die Sie möglicherweise installiert haben oder nicht. In diesem Fall hängt unser Skript davon ab notify-osd, welches standardmäßig mit Ubuntu ausgeliefert wird.

In anderen Distributionen ist dies möglicherweise nicht der Fall und Sie müssen die Abhängigkeiten installieren, bevor Sie das Skript verwenden können. Wenn die Abhängigkeit Teil der offiziellen Repositorys ist, können Sie sie einfach installieren apt-get, z. B .:

sudo apt-get install notify-osd

Einrichten des Skripts

Nachdem wir alle Abhängigkeiten erfüllt haben, können wir fortfahren und das Skript auf unser System kopieren. Zu diesem Zweck erstellen wir zuerst ein neues Dokument in unserem Skriptordner. Dies ist ~/.gnome2/nautilus-scriptsoder ~/.local/share/nautilus/scripts/auf Ubuntu 13.04 und höher. Dies ist ein versteckter Ordner. Um dorthin zu gelangen, müssen Sie Ihren Dateimanager öffnen, CTRL+ drücken Lund den Verzeichnispfad in die Adressleiste einfügen.

Als Nächstes erstellen wir ein neues leeres Dokument, indem Sie mit der rechten Maustaste darauf klicken und Neues Dokument erstellenLeeres Dokument auswählen . Nennen Sie es wie Sie möchten, aber achten Sie darauf, dass der Titel, den Sie auswählen, später im Nautilus-Kontextmenü angezeigt wird. Wählen Sie daher einen aussagekräftigen Namen für das Dokument:

Bildbeschreibung hier eingeben

Öffnen Sie das neue Dokument in einem Texteditor Ihrer Wahl und kopieren Sie den Inhalt des obigen Codefelds und fügen Sie ihn ein. Speichern Sie es und beenden Sie den Texteditor.

Es ausführbar machen

Zu diesem Zeitpunkt ist Ihr Skript korrekt eingerichtet, funktioniert aber immer noch nicht, da das System es noch nicht als ausführbare Datei erkennt. Um es ausführbar zu machen, klicken Sie mit der rechten Maustaste auf Ihre Datei und gehen Sie zu EigenschaftenBerechtigungen . Setzen Sie das Häkchen bei Ausführen als Programm erlauben und schließen Sie den Dialog:

Bildbeschreibung hier eingeben

Verwendung

Sie sollten nun in der Lage sein, über Ihr Nautilus-Kontextmenü auf das Skript zuzugreifen. Klicken Sie einfach mit der rechten Maustaste auf eine Datei Ihrer Wahl und gehen Sie zu Skripte -> Skriptname (hier: Beispielskript ). Klicken Sie auf den Eintrag, um das Skript für die ausgewählten Dateien auszuführen:

Bildbeschreibung hier eingeben

Zuweisen einer Tastenkombination zum Skript

Tastaturkürzel für Nautilus-Skripte können durch Bearbeiten der Nautilus-Tastaturbeschleunigerdatei zugewiesen werden. Unter Ubuntu 12.04 und darunter finden Sie diese Datei unter ~/.gnome2/accels/nautilus. In neueren Versionen wurde diese Datei in verschoben ~/.config/nautilus/accels. Bitte beachten Sie, dass Ihr Skript erst nach einem Neustart von Nautilus in der Accelerator-Datei angezeigt wird (führen Sie nautilus -qNautilus aus und starten Sie es erneut, indem Sie auf den entsprechenden Launcher klicken).

Die Syntax der Accelerator-Datei sieht auf den ersten Blick vielleicht etwas überwältigend aus, ist aber eigentlich ziemlich einfach. Schauen Sie sich diesen Auszug an, zum Beispiel:

; (gtk_accel_path "<Actions>/ShellActions/ZoomInAccel2" "<Primary>KP_Add")
; (gtk_accel_path "<Actions>/ShellActions/TabsNext" "<Primary>Page_Down")
; (gtk_accel_path "<Actions>/ScriptsGroup/script_file:\\s\\s\\shome\\sglutanimate\\s.gnome2\\snautilus-scripts\\sSample%20script" "")
; (gtk_accel_path "<Actions>/ShellActions/Search" "<Primary>f")
; (gtk_accel_path "<Actions>/ShellActions/Forward" "<Alt>Right")

Jede Zeile steht für eine einzelne Tastenbelegung. Das erste doppelte Anführungszeichen kennzeichnet die Aktion, das zweite die zugewiesene Tastenkombination. Zeilen, die mit einem Semikolon beginnen, sind kommentiert und derzeit inaktiv.

Um Ihrem Skript eine Verknüpfung zuzuweisen, müssen Sie diese Datei nach dem Namen des Skripts durchsuchen und die entsprechende Zeile auskommentieren, indem Sie das Semikolon entfernen. Geben Sie anschließend die Tastenkombination ein, die Sie zuweisen möchten.

Dies sind die verfügbaren Modifikatoren und ihre entsprechenden Schlüsselcodes:

  • CTRL = <Primary>
  • ALT = <Alt>
  • SHIFT = <Shift>

Sie können gültige Schlüsselcodes für alle anderen Schlüssel mit xev finden .

So müssten Sie den obigen Abschnitt ändern, um Ihr Beispielskript ALT+ zuzuweisen SHIFT + S:

; (gtk_accel_path "<Actions>/ShellActions/ZoomInAccel2" "<Primary>KP_Add")
; (gtk_accel_path "<Actions>/ShellActions/TabsNext" "<Primary>Page_Down")
(gtk_accel_path "<Actions>/ScriptsGroup/script_file:\\s\\s\\shome\\sglutanimate\\s.gnome2\\snautilus-scripts\\sSample%20script" "<Alt><Shift>s")
; (gtk_accel_path "<Actions>/ShellActions/Search" "<Primary>f")
; (gtk_accel_path "<Actions>/ShellActions/Forward" "<Alt>Right")

Unter Ubuntu 12.04 (und möglicherweise auch in späteren Versionen) überschreibt Nautilus manchmal die Beschleunigerdatei, bevor Sie Änderungen vornehmen können. Daher ist es möglicherweise eine gute Idee, alle Änderungen vorzunehmen, die Sie vornehmen, während Nautilus nicht ausgeführt wird ( nautilus -q). So oder so, Sie werden haben Nautilus neu zu starten , um die Änderungen zu sehen.

Automatisierung der Installation

Dieses Nautilus-Skript installiert automatisch Nautilus-Skripte für Sie. Bitte schauen Sie sich die Kommentare an, um zu sehen, was sich hinter den Kulissen abspielt:

#!/bin/bash
# AUTHOR:       Glutanimate (/ubuntu//users/81372/)
# LICENSE:      GNU GPLv3 (http://www.gnu.de/documents/gpl-3.0.en.html)
# NAME:         Nautilus Scripts Installer
#
# DESCRIPTION:  This script will install Nautilus scripts on Ubuntu 12.04 and above.
#               Note: scripts of the same name in the destination folder will be
#               overwritten without warning


# general purpose notification function
gui_notify(){
    notify-send -i gnome-app-install "Nautilus Scripts Installer" "$1"
}


# check if any files selected
if [[ -z "$@" ]]
  then
      gui_notify "Error: No files selected."
      exit 1
fi


RELEASE="$(lsb_release -r | cut -f2)"   # detect Ubuntu release

if [[ "$RELEASE" = "12.04" ]]           # set script folder accordingly
  then
      ScriptFolder="$HOME/.gnome2/nautilus-scripts"
  else
      ScriptFolder="$HOME/.local/share/nautilus/scripts/"
fi


for Script in "$@"; do

  ScriptFilename="${Script##*/}"                # get filename via bash string manipulation

  cp "$Script" "$ScriptFolder/"                 # Move script to destination
  chmod u+x "$ScriptFolder/$ScriptFilename"     # Make it executable for the user

done

gui_notify "The following scripts have been installed: $@"

Nebenbei bemerkt: Hier ist das Nautilus-Skript, mit dem ich die Screencasts dieser Antwort aufgezeichnet habe.


1
Möglicherweise könnte diese Antwort noch erweitert werden, einschließlich Informationen zum Zuweisen von Symbolen zu Skripten mithilfe des Nautilus-Dateieigenschaftenfensters oder der Befehlszeile (z . B. askubuntu.com/a/376062/53738 ).
Dess
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.