9504
Commento: imported from the old wiki
|
9565
stile, tolti avvisi di aggiornamento (doc originale non più aggiornato)
|
Le cancellazioni sono segnalate in questo modo. | Le aggiunte sono segnalate in questo modo. |
Linea 1: | Linea 1: |
= ItalianNautilusScriptsHowto = ## nautilus scripts ## How to make nautilus even more useful {{{ Draft }}} |
#LANGUAGE it [[BR]] ||<tablestyle="float:right; font-size: 0.9em; width:40%; background:#F1F1ED; margin: 0 0 1em 1em;" style="padding:0.5em;">'''Indice'''[[BR]][[TableOfContents]]|| |
Linea 12: | Linea 7: |
http://www.ubuntulinux.org/wiki/IconNautilus.png Il file-manager di nautilus supporta lo scripting anche se in modo limitato. I seguenti file possono essere copiati nella cartella nautilus-scripts. Molti di questi scripts coinvolgono i privilegi di root, che possono danneggiare seriamente il vostro sistema . Fate attenzione. Nautilus-scripts folder: {{{ ~/.gnome2/nautilus-scripts }}} Disponete i vostri scripts nella cartella , e rendeteli eseguibili (chmod +x {script-name}). Una volta fatto questo , i vostri scripts saranno disponibili in tutte le finestre di Nautilus sotto la voce File->Script, e saranno richiamabili attraverso il right-click. == Manda a destinatario posta == Questo è veramente utile. Quante volte avete avuto la necessità di cercare un file per poi inviarlo? Sono onesto, da Evolution o mozilla-thunderbird questo non è molto semplice. E' veramente semplice usare Nautilus per cercare un file e inviarlo per email dalla posizione in cui ci si trova. {{{ |
attachment:Icone/Piccole/nautilus.png Il file-manager di nautilus supporta lo scripting anche se in modo limitato. I seguenti file possono essere copiati nella cartella nautilus-scripts. Molti di questi scripts coinvolgono i privilegi di root, che possono danneggiare seriamente il sistema in uso. Directory nautilus-scripts: `~/.gnome2/nautilus-scripts` o `/home/<utente>/.gnome2/nautilus-scripts` dove '''<utente>''' è l'utente desiderato. Disporre i propri scripts nella directory e renderli eseguibili digitando in un terminale il seguente comando: {{{ chmod +x <nome-dello-script> }}} Una volta fatto questo , gli scripts saranno disponibili in tutte le finestre di Nautilus sotto la voce '''''File -> Script''''', e saranno richiamabili attraverso il clic con il tasto destro. == Manda via mail il file selezionato == Questo è veramente utile per cercare un file e inviarlo per email dalla posizione in cui ci si trova: {{{ |
Linea 31: | Linea 26: |
Linea 38: | Linea 34: |
Linea 39: | Linea 36: |
Linea 40: | Linea 38: |
Linea 41: | Linea 40: |
Linea 42: | Linea 42: |
Linea 43: | Linea 44: |
Linea 44: | Linea 46: |
Linea 45: | Linea 48: |
Linea 46: | Linea 50: |
Linea 47: | Linea 52: |
Linea 48: | Linea 54: |
Linea 49: | Linea 56: |
Linea 50: | Linea 58: |
Linea 51: | Linea 60: |
Linea 52: | Linea 62: |
Linea 53: | Linea 64: |
Linea 55: | Linea 67: |
Linea 57: | Linea 68: |
Linea 58: | Linea 70: |
Linea 59: | Linea 72: |
Linea 60: | Linea 74: |
Linea 61: | Linea 76: |
}}} Aggiunto da Darrell: Ho notato che la sintassi mailto: non funziona con mozilla-thunderbird. Ho creato la seguente versione che sembra funzionare con Thunderbird: {{{ |
}}} La sintassi `mailto:` non funziona con '''mozilla-thunderbird'''. La seguente versione sembra invece funzionare con Thunderbird: {{{ |
Linea 67: | Linea 82: |
Linea 68: | Linea 84: |
Linea 75: | Linea 92: |
Linea 76: | Linea 94: |
Linea 77: | Linea 96: |
Linea 78: | Linea 98: |
Linea 79: | Linea 100: |
Linea 80: | Linea 102: |
Linea 81: | Linea 104: |
Linea 82: | Linea 106: |
Linea 83: | Linea 108: |
Linea 84: | Linea 110: |
Linea 85: | Linea 112: |
Linea 86: | Linea 114: |
Linea 87: | Linea 116: |
Linea 88: | Linea 118: |
Linea 89: | Linea 120: |
Linea 90: | Linea 122: |
Linea 92: | Linea 125: |
Linea 94: | Linea 126: |
Linea 95: | Linea 128: |
Linea 96: | Linea 130: |
Linea 97: | Linea 132: |
Linea 98: | Linea 134: |
Linea 99: | Linea 136: |
Linea 100: | Linea 138: |
Linea 101: | Linea 140: |
Linea 102: | Linea 142: |
}}} Vedrete inolche che è richiesto uno shell scrips, (~/scripts/thunderbird-email-attachments nel mio esempio qua sopra, non è posizionato nella cartella nautilus-scripts, altrimenti sarebbe visibile nel menù contestuale): {{{ |
}}} Nell'ultime righe dello script precedente viene richiesto il seguente script di shell, (indicato con `~/scripts/thunderbird-email-attachments`. Attenzione a non posizionarlo nella directory `nautilus-scripts`, altrimenti sarebbe visibile nel menù contestuale):{{{ |
Linea 111: | Linea 152: |
Linea 116: | Linea 158: |
Linea 117: | Linea 160: |
Linea 118: | Linea 162: |
}}} == Mount ISO == Montare un immagine ISO, da Nautilus. Nota da carney1979 - questo script sarà presto modificato per lavorare anche con file che contengono spazi nel nome. {{{ #!/bin/bash # |
}}} == Montare un'immagine ISO == Montare un'immagine ISO, da Nautilus: {{{ #!/bin/bash # |
Linea 127: | Linea 174: |
Linea 128: | Linea 176: |
Linea 129: | Linea 178: |
Linea 130: | Linea 180: |
Linea 131: | Linea 182: |
Linea 132: | Linea 184: |
Linea 133: | Linea 186: |
Linea 134: | Linea 188: |
Linea 135: | Linea 190: |
Linea 136: | Linea 192: |
}}} == Unmount ISO == Smontare immagine ISO , da nautilus. questo script sarà presto modificato per lavorare anche con file che contengono spazi nel nome. {{{ #!/bin/bash # |
}}} == Smontare un'immagine ISO == Smontare immagine ISO, da nautilus: {{{ #!/bin/bash # |
Linea 146: | Linea 205: |
Linea 147: | Linea 207: |
Linea 148: | Linea 209: |
Linea 149: | Linea 211: |
Linea 150: | Linea 213: |
Linea 151: | Linea 215: |
Linea 152: | Linea 217: |
}}} == Impostare il file in sola lettura == Cambiare i permessi del file in sola lettura. {{{ |
}}} == Impostare la sola lettura sui file == Cambiare i permessi dei file in sola lettura:{{{ |
Linea 162: | Linea 227: |
}}} == Editare il file con gedit usando i privilegi di root == Questo script sarà presto modificato per lavorare anche con file che contengono spazi nel nome. {{{ #!/bin/bash # |
}}} == Editare file con gedit usando i privilegi di root == {{{ #!/bin/bash # |
Linea 172: | Linea 239: |
Linea 173: | Linea 241: |
Linea 174: | Linea 243: |
Linea 175: | Linea 245: |
Linea 176: | Linea 247: |
Linea 177: | Linea 249: |
Linea 178: | Linea 251: |
Linea 183: | Linea 257: |
#!/bin/bash | #!/bin/bash |
Linea 185: | Linea 261: |
Linea 186: | Linea 263: |
Linea 187: | Linea 265: |
Linea 188: | Linea 267: |
# | # |
Linea 190: | Linea 271: |
Linea 191: | Linea 273: |
# | # |
Linea 193: | Linea 277: |
Linea 194: | Linea 279: |
Linea 195: | Linea 281: |
Linea 196: | Linea 283: |
Linea 197: | Linea 285: |
Linea 200: | Linea 287: |
Linea 201: | Linea 289: |
Linea 205: | Linea 294: |
Questo script sarà presto modificato per lavorare anche con file che contengono spazi nel nome. {{{ #!/bin/bash # |
{{{ #!/bin/bash # |
Linea 211: | Linea 301: |
Linea 212: | Linea 303: |
Linea 213: | Linea 305: |
Linea 214: | Linea 307: |
Linea 215: | Linea 309: |
Linea 216: | Linea 311: |
Linea 221: | Linea 317: |
Linea 222: | Linea 319: |
Linea 223: | Linea 321: |
Linea 224: | Linea 323: |
# | # |
Linea 226: | Linea 327: |
# | # |
Linea 228: | Linea 331: |
Linea 229: | Linea 333: |
Linea 231: | Linea 335: |
Linea 232: | Linea 337: |
Linea 237: | Linea 343: |
#!/bin/bash # |
#!/bin/bash # |
Linea 240: | Linea 349: |
# | # |
Linea 242: | Linea 353: |
# | # |
Linea 244: | Linea 357: |
Linea 245: | Linea 359: |
Linea 247: | Linea 361: |
Linea 248: | Linea 363: |
Linea 249: | Linea 365: |
Linea 250: | Linea 367: |
Linea 251: | Linea 369: |
Linea 252: | Linea 371: |
Linea 253: | Linea 373: |
Linea 254: | Linea 375: |
Linea 255: | Linea 377: |
Linea 256: | Linea 379: |
Linea 257: | Linea 381: |
Linea 258: | Linea 383: |
Linea 259: | Linea 385: |
Linea 260: | Linea 387: |
Linea 261: | Linea 389: |
Linea 262: | Linea 391: |
Linea 263: | Linea 393: |
Linea 264: | Linea 395: |
Linea 266: | Linea 397: |
Linea 267: | Linea 399: |
Linea 268: | Linea 401: |
Linea 269: | Linea 403: |
Linea 270: | Linea 405: |
Linea 271: | Linea 407: |
Linea 273: | Linea 409: |
Linea 274: | Linea 411: |
Linea 279: | Linea 417: |
Linea 280: | Linea 419: |
Linea 281: | Linea 421: |
Linea 282: | Linea 423: |
Linea 283: | Linea 425: |
Linea 284: | Linea 427: |
Linea 285: | Linea 429: |
Linea 286: | Linea 431: |
Linea 287: | Linea 433: |
Linea 288: | Linea 435: |
Linea 289: | Linea 437: |
Linea 290: | Linea 439: |
Linea 291: | Linea 441: |
Linea 292: | Linea 443: |
Linea 293: | Linea 445: |
}}} Nota: Potete fare lo stesso premendo CTRL+H su Nautilus |
}}} È possibile fare lo stesso con la combinazione di tasti '''CTRL+H''' su Nautilus. = Ulteriori risorse = * [wiki:Ubuntu/NautilusScriptsHowto Documento originale] ---- CategoryProgrammazione |
IndiceBRTableOfContents |
Nautilus scripting
attachment:Icone/Piccole/nautilus.png
Il file-manager di nautilus supporta lo scripting anche se in modo limitato. I seguenti file possono essere copiati nella cartella nautilus-scripts. Molti di questi scripts coinvolgono i privilegi di root, che possono danneggiare seriamente il sistema in uso.
Directory nautilus-scripts: ~/.gnome2/nautilus-scripts o /home/<utente>/.gnome2/nautilus-scripts dove <utente> è l'utente desiderato.
Disporre i propri scripts nella directory e renderli eseguibili digitando in un terminale il seguente comando:
chmod +x <nome-dello-script>
Una volta fatto questo , gli scripts saranno disponibili in tutte le finestre di Nautilus sotto la voce File -> Script, e saranno richiamabili attraverso il clic con il tasto destro.
Manda via mail il file selezionato
Questo è veramente utile per cercare un file e inviarlo per email dalla posizione in cui ci si trova:
#!/usr/bin/perl -w # By John Russell # This script sends the selected file(s) with your email client. use strict; my $MAILTO_URL="mailto:?"; my @files = split("\n", $ENV{NAUTILUS_SCRIPT_SELECTED_FILE_PATHS}); my $count = 0; foreach my $file (@files) { if ( ! -f $file && ! -l $file ) { my @dialog = ("gdialog","--title","Error","--msgbox", "\nError: Can not send $file. \n\n Only regular files can be mailed. ","200", "300"); system (@dialog); } else { $MAILTO_URL = $MAILTO_URL . "attach=" . $file . "&"; shift; $count += 1; } } if ($count > 0) { my @command = ("gnome-open", $MAILTO_URL); system(@command); }
La sintassi mailto: non funziona con mozilla-thunderbird. La seguente versione sembra invece funzionare con Thunderbird:
#!/usr/bin/perl -w # By John Russell # and hacked to work with thunderbird by Darrell # This script sends the selected file(s) with mozilla-thunderbird. use strict; my $attach_string="\"attachment='"; my @files = split("\n", $ENV{NAUTILUS_SCRIPT_SELECTED_FILE_PATHS}); my $count = 0; foreach my $file (@files) { if ( ! -f $file && ! -l $file ) { my @dialog = ("gdialog","--title","Error","--msgbox", "\nError: Can not send $file. \n\n Only regular files can be mailed. ","200", "300"); system (@dialog); } else { $attach_string = $attach_string . "file://" . $file . ","; shift; $count += 1; } } if ($count > 0) { $attach_string = $attach_string . "'\""; # replace spaces with '%20' as demanded by mozilla/thunderbird $attach_string =~ s/\s/%20/g; # invoke shell script to call thunderbird differently depending on whether it's running already or not my $command = ("~/scripts/thunderbird-email-attachments " . $attach_string); system($command); }
Nell'ultime righe dello script precedente viene richiesto il seguente script di shell, (indicato con ~/scripts/thunderbird-email-attachments. Attenzione a non posizionarlo nella directory nautilus-scripts, altrimenti sarebbe visibile nel menù contestuale):
#!/bin/sh # if thunderbird is already running open a compose window in the running instance if `ps xc | grep -q mozilla-thunder`; then exec mozilla-thunderbird -a Mozilla-Thunderbird -remote "xfeDoCommand(ComposeMessage,$1)" # else start a new instance with the compose window only else exec mozilla-thunderbird -compose $1 fi
Montare un'immagine ISO
Montare un'immagine ISO, da Nautilus:
#!/bin/bash # #By modprobing loop it makes sure that the module is loaded and ready for #use. If it is already loaded then nothing will happen. modprobe loop for I in `echo $*` do foo=`gksudo -u root -k -m "enter your password for root terminal access" /bin/echo "got r00t?"` sudo mount -o loop -t iso9660 $I /media/iso done done exit0
Smontare un'immagine ISO
Smontare immagine ISO, da nautilus:
#!/bin/bash # for I in `echo $*` do foo=`gksudo -u root -k -m "inserire la tua password di root" /bin/echo "got r00t?"` sudo umount $I done done exit0
Impostare la sola lettura sui file
Cambiare i permessi dei file in sola lettura:
#!/bin/bash chmod ugo-wx $*
Editare file con gedit usando i privilegi di root
#!/bin/bash # for I in `echo $*` do foo=`gksudo -u root -k -m "inserei la tua password di root" /bin/echo "got r00t?"` sudo gedit $I done done exit0
Aprire Nautilus con i privilegi di root
#!/bin/bash # root-nautilus-here # opens a root-enabled instance of a nautilus window in selected location # requires sudo privileges and gksudo, which may involve security risks. #Install in your ~/Nautilus/scripts directory. # # Placed in the public domain by Shane T. Mueller 2001 # Fixes provided by Doug Nordwall # # 2004.04.18 -- keith@penguingurus.com - Added gksudo usage to provide popup # password window if sudo has expired. Line only echos got # root to std output. But gksudo updates your sudo access # privs, so running nautilus with sudo will succeed # without asking for a password. foo=`gksudo -u root -k -m "enter your password for nautilus root access" /bin/echo "got r00t?"` sudo nautilus --no-desktop $NAUTILUS_SCRIPT_CURRENT_URI
Avviare file con i privilegi di root
#!/bin/bash # for I in `echo $*` do /usr/bin/gksudo $I done done exit0
Aprire la finestra di ricerca
#!/bin/sh # From Johnathan Bailes # This script opens a gnome-search-tool in the directory you select. # # Distributed under the terms of GNU GPL version 2 or later # # Install in your ~/Nautilus/scripts directory. # You need to be running Nautilus 1.0.3+ to use scripts. cd $NAUTILUS_SCRIPT_CURRENT_URI exec gnome-search-tool
Aprire il terminale
#!/bin/bash # # This script opens a gnome-terminal in the directory you select. # # Distributed under the terms of GNU GPL version 2 or later # # Install in ~/.gnome2/nautilus-scripts or ~/Nautilus/scripts # You need to be running Nautilus 1.0.3+ to use scripts. # When a directory is selected, go there. Otherwise go to current # directory. If more than one directory is selected, show error. if [ -n "$NAUTILUS_SCRIPT_SELECTED_FILE_PATHS" ]; then set $NAUTILUS_SCRIPT_SELECTED_FILE_PATHS if [ $# -eq 1 ]; then destination="$1" # Go to file's directory if it's a file if [ ! -d "$destination" ]; then destination="`dirname "$destination"`" fi else zenity --error --title="Error - Open terminal here" \ --text="You can only select one directory." exit 1 fi else destination="`echo "$NAUTILUS_SCRIPT_CURRENT_URI" | sed 's/^file:\/\///'`" fi # It's only possible to go to local directories if [ -n "`echo "$destination" | grep '^[a-zA-Z0-9]\+:'`" ]; then zenity --error --title="Error - Open terminal here" \ --text="Only local directories can be used." exit 1 fi cd "$destination" exec x-terminal-emulator
Nascondi o visualizza file nascosti
#!/bin/sh # When hidden files (.emacs, etc) are hidden, shows "Show Hidden Files" option. # When hidden files are shown, shows "Hide Hidden Files" option. # Uses gconf to toggle between the two Nautilus options. # Should be placed in ~/.gnome2/nautilus-scripts/ with executable permission. OLDSTATE=$(gconftool-2 --get "/desktop/gnome/file_views/show_hidden_files") if [ "$OLDSTATE" == "false" ] ; then NEWSTATE="True" mv ~/.gnome2/nautilus-scripts/Show\ Dot\ Files ~/.gnome2/nautilus-scripts/Hide\ Dot\ Files else NEWSTATE="False" mv ~/.gnome2/nautilus-scripts/Hide\ Dot\ Files ~/.gnome2/nautilus-scripts/Show\ Dot\ Files fi gconftool-2 --set "/desktop/gnome/file_views/show_hidden_files" --type boolean $NEWSTATE
È possibile fare lo stesso con la combinazione di tasti CTRL+H su Nautilus.
Ulteriori risorse
- [wiki:Ubuntu/NautilusScriptsHowto Documento originale]