10119
Commento: Aggiunta categoria CategoryProgrammazione
|
10020
toc 35%, da revisionare
|
Le cancellazioni sono segnalate in questo modo. | Le aggiunte sono segnalate in questo modo. |
Linea 1: | Linea 1: |
= NautilusScriptsHowto = | #format wiki #LANGUAGE it |
Linea 3: | Linea 4: |
||<tablestyle="float:right; font-size: 0.9em; width:40%; background:#F1F1ED; margin: 0 0 1em 1em;" style="padding:0.5em;">'''Indice'''[[BR]][[TableOfContents]]|| ## nautilus scripts ## How to make nautilus even more useful {{{ Draft }}} |
||<tablestyle="float:right; font-size: 0.9em; width:35%; background:#F1F1ED; margin: 0 0 1em 1em;" style="padding:0.5em;">'''Indice'''[[BR]][[TableOfContents]]|| |
Linea 18: | Linea 10: |
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. Cartella nautilus-scripts: {{{ ~/.gnome2/nautilus-scripts }}} (o {{{/home/<utente>/.gnome2/nautilus-scripts}}} dove <utente> è l'utente che desiderate) 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. |
'''Nautilus''' permette l'esecuzione di script personalizzati, richiamabili direttamente dalla finestra di navigazione. Questi ''script'' vanno posizionati nella directory {{{~/.gnome2/nautilus-scripts}}} (identificata anche da {{{/home/<utente>/.gnome2/nautilus-scripts}}} dove «'''utente'''» è l'utente desiderato), e resi eseguibili digitando in un terminale il seguente comando: {{{ chmod +x <nome-dello-script> }}} Una volta fatto questo, ogni script aggiunto sarà disponibile in Nautilus sotto la voce '''''File -> Script''''', e sarà richiamabile attraverso il clic con il tasto destro. Molti di questi script coinvolgono i privilegi d'amministrazione, che possono danneggiare seriamente il sistema in uso. == Raccolta di Script per Nautilus == Esiste una raccolta di script per Nautilus (sono più di 100), presente nel sito http://g-scripts.sourceforge.net. Per estendere Nautilus con tutti gli script della raccolta, eseguire i seguenti comandi: {{{ cd ~/.gnome2/nautilus-scripts wget http://g-scripts.sourceforge.net/nautilus-scripts.tar.gz tar zxvf nautilus-scripts.tar.gz}}} Se il comando wget non riesce a recuperare il .tar.gz con la raccolta degli script potete fare il download direttamente dal sito del progetto. |
Linea 36: | Linea 31: |
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. {{{ |
Questo è veramente utile per cercare un file e inviarlo per email dalla posizione in cui ci si trova: {{{ |
Linea 94: | Linea 87: |
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: NOTA: Funziona con Mozilla-Thunderbird ma non con Thunderbird2 (non presente nei repositories) |
Linea 162: | Linea 155: |
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 184: | Linea 175: |
== 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. {{{ |
== Montare un'immagine ISO == Montare un'immagine ISO, da Nautilus: {{{ |
Linea 216: | Linea 205: |
== Unmount ISO == Smontare immagine ISO , da nautilus. questo script sarà presto modificato per lavorare anche con file che contengono spazi nel nome. |
== Smontare un'immagine ISO == Smontare immagine ISO, da nautilus: |
Linea 242: | Linea 230: |
== Impostare il file in sola lettura == Cambiare i permessi del file in sola lettura. {{{ #!/bin/bash chmod ugo-wx $* }}} == 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. |
== Impostare la sola lettura sui file == Cambiare i permessi dei file in sola lettura:{{{ #!/bin/bash chmod ugo=r $* }}} == Editare file con gedit usando i privilegi di root == |
Linea 320: | Linea 304: |
Questo script sarà presto modificato per lavorare anche con file che contengono spazi nel nome. |
|
Linea 370: | Linea 352: |
{{{ #!/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 |
[http://wiki.ubuntu-it.org/NautilusScriptsHowto?action=AttachFile&do=view&target=aprire-terminale.txt Mostra script] == Nascondere o mostrare i 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 |
Linea 420: | Linea 378: |
destination="`echo "$NAUTILUS_SCRIPT_CURRENT_URI" | sed 's/^file:\/\///'`" | NEWSTATE="False" mv ~/.gnome2/nautilus-scripts/Hide\ Dot\ Files ~/.gnome2/nautilus-scripts/Show\ Dot\ Files |
Linea 424: | Linea 384: |
# 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 == |
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. == Ridimensionamento delle immagini == |
Linea 448: | Linea 396: |
# 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 }}} Nota: Potete fare lo stesso premendo CTRL+H su Nautilus |
#acquisisce i nomi dei file files=`echo "$1" | sed 's/ /\\ /g'` # nome dei file ridotti, in questo caso aggiunge -copia.jpg in fondo copia=ImmaginiRidotte/${files}-copia.jpg # crea la sottocartella dove salvare i file ridotti mkdir ImmaginiRidotte # chiamata a convert (pacchetto imagemagick) # 800 è la larghezza dei file finali (vanno modificati tutti e due) # 75 è la percentuale di compressione. editatele come preferite. # per mettere nessuna compressione o nessun ridimensionamento semplicemente eliminate il parametro. convert $NAUTILUS_SCRIPT_SELECTED_FILE_PATHS -resize 800x -resize 'x800>' -quality 75 $copia }}} == Inviare file tramite bluetooth == {{{ #!/bin/sh # Tramite obex invia un file ad un dispositivo bluetooth. # Ovviamente dovete avere un'adattatore bluetooth collegato al computer. gnome-obex-send $NAUTILUS_SCRIPT_SELECTED_FILE_PATHS }}} == Convertire file audio == [http://wiki.ubuntu-it.org/NautilusScriptsHowto?action=AttachFile&do=view&target=conversione-file-audio.txt Mostra script] = Ulteriori risorse = * [wiki:Ubuntu/NautilusScriptsHowto Documento originale] |
IndiceBRTableOfContents |
Nautilus scripting
attachment:Icone/Piccole/nautilus.png
Nautilus permette l'esecuzione di script personalizzati, richiamabili direttamente dalla finestra di navigazione.
Questi script vanno posizionati nella directory ~/.gnome2/nautilus-scripts (identificata anche da /home/<utente>/.gnome2/nautilus-scripts dove «utente» è l'utente desiderato), e resi eseguibili digitando in un terminale il seguente comando:
chmod +x <nome-dello-script>
Una volta fatto questo, ogni script aggiunto sarà disponibile in Nautilus sotto la voce File -> Script, e sarà richiamabile attraverso il clic con il tasto destro.
Molti di questi script coinvolgono i privilegi d'amministrazione, che possono danneggiare seriamente il sistema in uso.
Raccolta di Script per Nautilus
Esiste una raccolta di script per Nautilus (sono più di 100), presente nel sito http://g-scripts.sourceforge.net. Per estendere Nautilus con tutti gli script della raccolta, eseguire i seguenti comandi:
cd ~/.gnome2/nautilus-scripts wget http://g-scripts.sourceforge.net/nautilus-scripts.tar.gz tar zxvf nautilus-scripts.tar.gz
Se il comando wget non riesce a recuperare il .tar.gz con la raccolta degli script potete fare il download direttamente dal sito del progetto.
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: NOTA: Funziona con Mozilla-Thunderbird ma non con Thunderbird2 (non presente nei repositories)
#!/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=r $*
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
[http://wiki.ubuntu-it.org/NautilusScriptsHowto?action=AttachFile&do=view&target=aprire-terminale.txt Mostra script]
Nascondere o mostrare i 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.
Ridimensionamento delle immagini
#!/bin/sh #acquisisce i nomi dei file files=`echo "$1" | sed 's/ /\\ /g'` # nome dei file ridotti, in questo caso aggiunge -copia.jpg in fondo copia=ImmaginiRidotte/${files}-copia.jpg # crea la sottocartella dove salvare i file ridotti mkdir ImmaginiRidotte # chiamata a convert (pacchetto imagemagick) # 800 è la larghezza dei file finali (vanno modificati tutti e due) # 75 è la percentuale di compressione. editatele come preferite. # per mettere nessuna compressione o nessun ridimensionamento semplicemente eliminate il parametro. convert $NAUTILUS_SCRIPT_SELECTED_FILE_PATHS -resize 800x -resize 'x800>' -quality 75 $copia
Inviare file tramite bluetooth
#!/bin/sh # Tramite obex invia un file ad un dispositivo bluetooth. # Ovviamente dovete avere un'adattatore bluetooth collegato al computer. gnome-obex-send $NAUTILUS_SCRIPT_SELECTED_FILE_PATHS
Convertire file audio
[http://wiki.ubuntu-it.org/NautilusScriptsHowto?action=AttachFile&do=view&target=conversione-file-audio.txt Mostra script]
Ulteriori risorse
- [wiki:Ubuntu/NautilusScriptsHowto Documento originale]