Znalazłem skrypt nautilus, którego chciałbym użyć. Jak to zainstalować?
Znalazłem skrypt nautilus, którego chciałbym użyć. Jak to zainstalować?
Odpowiedzi:
Załóżmy, że chcesz zainstalować następujący skrypt znaleziony podczas przeglądania Zapytaj Ubuntu:
#!/bin/bash
## Sample Script 0.1
## Dependencies: notify-osd
notify-send "Sample nautilus script" "You Selected $NAUTILUS_SCRIPT_SELECTED_FILE_PATHS"
Zależności
Pierwszą rzeczą, którą zauważysz, jest to, że wiele skryptów nie wychodzi po prostu z pudełka. Czasami zależą od innych pakietów, które mogłeś zainstalować lub nie. W takim przypadku nasz skrypt zależy od tego notify-osd
, który domyślnie jest dostarczany z Ubuntu.
W innych dystrybucjach może tak nie być i przed użyciem skryptu musisz zainstalować zależności. Jeśli zależność jest częścią oficjalnych repozytoriów, możesz ją łatwo zainstalować apt-get
, np .:
sudo apt-get install notify-osd
Konfigurowanie skryptu
Teraz, gdy zaspokoiliśmy wszystkie zależności, możemy przejść i skopiować skrypt do naszego systemu. Aby to zrobić, najpierw tworzymy nowy dokument w naszym folderze skryptów, ~/.gnome2/nautilus-scripts
czyli ~/.local/share/nautilus/scripts/
w wersji Ubuntu 13.04 lub nowszej. To jest ukryty folder. Aby do niego przejść, musisz otworzyć menedżera plików, naciśnij CTRL+ Li wklej ścieżkę katalogu do paska lokalizacji.
Następnie utworzymy nowy pusty dokument, klikając prawym przyciskiem myszy i wybierając Utwórz nowy dokument → Pusty dokument . Nazwij go, jak chcesz, ale uwaga: wybrany tytuł to sposób, w jaki wpis skryptu pojawi się w menu kontekstowym nautilus. Lepiej więc wybierz opisową nazwę dokumentu:
Otwórz nowy dokument w wybranym edytorze tekstów, a następnie skopiuj i wklej do niego zawartość pola kodu powyżej. Zapisz i wyjdź z edytora tekstu.
Dzięki temu jest wykonywalny
W tym momencie skrypt jest poprawnie skonfigurowany, ale nadal nie działa, ponieważ system nie rozpoznaje go jeszcze jako pliku wykonywalnego. Aby plik był wykonywalny, kliknij plik prawym przyciskiem myszy i przejdź do Właściwości → Uprawnienia . Ustaw znacznik przy Zezwalaj na wykonywanie jako program i zamknij okno dialogowe:
Stosowanie
Powinieneś teraz mieć dostęp do skryptu z menu kontekstowego nautilus. Wystarczy kliknąć wybrany plik prawym przyciskiem myszy i przejść do Skrypty -> Nazwa skryptu (tutaj: Przykładowy skrypt ). Kliknij pozycję, aby wykonać skrypt na wybranych plikach:
Przypisywanie skrótu klawiaturowego do skryptu
Skróty klawiaturowe dla skryptów Nautilus można przypisać, edytując plik akceleratora klawiatury Nautilus. W systemie Ubuntu 12.04 i niższych ten plik można znaleźć pod ~/.gnome2/accels/nautilus
. W nowszych wersjach plik ten został przeniesiony do ~/.config/nautilus/accels
. Uwaga: skrypt pojawi się w pliku akceleratora dopiero po ponownym uruchomieniu Nautilus (uruchom nautilus -q
, a następnie uruchom ponownie Nautilus, klikając jego program uruchamiający).
Składnia pliku akceleratora może początkowo wyglądać nieco przytłaczająco, ale w rzeczywistości jest dość łatwa. Spójrz na ten fragment, na przykład:
; (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")
Każda linia reprezentuje pojedyncze przypisanie klucza. Pierwszy podwójnie cytowany segment oznacza akcję, a drugi przypisaną kombinację klawiszy. Linie zaczynające się od średnika są komentowane i obecnie nieaktywne.
Aby przypisać skrót do skryptu, będziesz musiał przeszukać ten plik w celu znalezienia nazwy skryptu i odkomentować odpowiedni wiersz, usuwając średnik. Następnie wpisz skrót klawiaturowy, który chcesz przypisać.
Oto dostępne modyfikatory i odpowiadające im kody klawiszy:
<Primary>
<Alt>
<Shift>
Możesz znaleźć poprawne kody wszystkich pozostałych kluczy, używając xev .
Oto jak musiałbyś zmodyfikować powyższą sekcję, aby przypisać przykładowy skrypt do ALT+ 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")
W systemie Ubuntu 12.04 (i być może także w późniejszych wersjach) Nautilus czasami nadpisuje plik akceleratora przed wprowadzeniem jakichkolwiek zmian. Dobrym pomysłem może być wykonanie wszystkich zmian, które wprowadzasz, gdy Nautilus nie działa ( nautilus -q
). Tak czy inaczej, będzie musiał ponownie uruchomić Nautilusa, aby zobaczyć zmiany.
Automatyzacja instalacji
Ten skrypt Nautilus automatycznie zainstaluje dla Ciebie skrypty Nautilus. Spójrz na komentarze, aby zobaczyć, co dzieje się za kulisami:
#!/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: $@"
Na marginesie: Oto skrypt nautilus, którego użyłem do nagrania screencastów tej odpowiedzi.