Ho trovato uno script nautilus che vorrei usare. Come lo installo?
Ho trovato uno script nautilus che vorrei usare. Come lo installo?
Risposte:
Supponi di voler installare il seguente script che hai trovato durante la navigazione Chiedi a Ubuntu:
#!/bin/bash
## Sample Script 0.1
## Dependencies: notify-osd
notify-send "Sample nautilus script" "You Selected $NAUTILUS_SCRIPT_SELECTED_FILE_PATHS"
dipendenze
La prima cosa che noterai è che molti script non si esauriranno immediatamente. A volte dipendono da altri pacchetti che potresti aver installato o meno. In questo caso dipende il nostro script notify-osd
, che viene fornito di default con Ubuntu.
In altre distro questo potrebbe non essere il caso e dovrai installare le dipendenze prima di utilizzare lo script. Se la dipendenza fa parte dei repository ufficiali, è possibile installarla facilmente apt-get
, ad esempio:
sudo apt-get install notify-osd
Impostazione dello script
Ora che abbiamo soddisfatto tutte le dipendenze su cui possiamo passare e copiare lo script sul nostro sistema. Per fare ciò creiamo prima un nuovo documento nella nostra cartella degli script, che è ~/.gnome2/nautilus-scripts
o ~/.local/share/nautilus/scripts/
su Ubuntu 13.04 e versioni successive. Questa è una cartella nascosta. Per raggiungerlo dovrai aprire il tuo file manager, premi CTRL+ Le incolla il percorso della directory nella barra degli indirizzi.
Successivamente creeremo un nuovo documento vuoto facendo clic con il tasto destro e selezionando Crea nuovo documento → Documento vuoto . Assegnalo al nome che preferisci, ma fai attenzione: il titolo che scegli è il modo in cui la voce dello script apparirà successivamente nel menu di scelta rapida di nautilus. Quindi meglio scegliere un nome descrittivo per il documento:
Apri il nuovo documento in un editor di testo a tua scelta e procedi a copiare e incollare il contenuto della casella di codice sopra in esso. Salvalo ed esci dall'editor di testo.
Rendendolo eseguibile
A questo punto il tuo script è impostato correttamente ma continua a non funzionare poiché il sistema non lo riconosce ancora come file eseguibile. Per renderlo eseguibile, fai clic destro sul tuo file e vai su Proprietà → Autorizzazioni . Impostare il segno di spunta su Consenti esecuzione come programma e chiudere la finestra di dialogo:
uso
Ora dovresti essere in grado di accedere allo script dal menu contestuale di nautilus. Basta fare clic con il tasto destro su un file a scelta e andare su Script -> Nome script (qui: Script di esempio ). Fare clic sulla voce per eseguire lo script sui file selezionati:
Assegnare una scorciatoia da tastiera allo script
Le scorciatoie da tastiera per gli script Nautilus possono essere assegnate modificando il file dell'acceleratore da tastiera di Nautilus. Su Ubuntu 12.04 e precedenti questo file è disponibile sotto ~/.gnome2/accels/nautilus
. Nelle versioni più recenti questo file è stato spostato ~/.config/nautilus/accels
. Si noti che lo script verrà visualizzato nel file dell'acceleratore solo dopo aver riavviato Nautilus (eseguire nautilus -q
, quindi riavviare Nautilus facendo clic sul relativo programma di avvio).
La sintassi del file acceleratore potrebbe sembrare un po 'travolgente all'inizio, ma in realtà è piuttosto semplice. Dai un'occhiata a questo estratto, ad esempio:
; (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")
Ogni riga rappresenta una singola assegnazione di tasti. Il primo segmento tra virgolette indica l'azione, il secondo la combinazione di tasti assegnata. Le righe che iniziano con un punto e virgola sono commentate e attualmente inattive.
Per assegnare un collegamento al tuo script dovrai cercare in questo file il nome dello script e rimuovere il commento dalla riga corrispondente rimuovendo il punto e virgola. Quindi procedi a digitare la scorciatoia da tastiera che desideri assegnare.
Questi sono i modificatori disponibili e i corrispondenti codici chiave:
<Primary>
<Alt>
<Shift>
Puoi trovare codici chiave validi per tutte le altre chiavi usando xev .
Ecco come dovresti modificare la sezione sopra per assegnare il tuo script di esempio a 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")
Su Ubuntu 12.04 (e forse anche versioni successive) Nautilus a volte sovrascriverà il file dell'acceleratore prima di poter apportare modifiche. Quindi potrebbe essere una buona idea eseguire tutte le modifiche apportate mentre Nautilus non è in esecuzione ( nautilus -q
). In entrambi i casi, si avrà necessario riavviare Nautilus per vedere i cambiamenti.
Automatizzare l'installazione
Questo script Nautilus installa automaticamente gli script Nautilus per te. Dai un'occhiata ai commenti per vedere cosa succede dietro le quinte:
#!/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: $@"
A parte: ecco lo script nautilus che ho usato per registrare i screencast di questa risposta.