|
Dimensione: 9504
Commento: imported from the old wiki
|
Dimensione: 10342
Commento: piccole correzioni
|
| 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 }}} |
#format wiki #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 8: |
| 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 25: |
| Linea 38: | Linea 33: |
| Linea 39: | Linea 35: |
| Linea 40: | Linea 37: |
| Linea 41: | Linea 39: |
| Linea 42: | Linea 41: |
| Linea 43: | Linea 43: |
| Linea 44: | Linea 45: |
| Linea 45: | Linea 47: |
| Linea 46: | Linea 49: |
| Linea 47: | Linea 51: |
| Linea 48: | Linea 53: |
| Linea 49: | Linea 55: |
| Linea 50: | Linea 57: |
| Linea 51: | Linea 59: |
| Linea 52: | Linea 61: |
| Linea 53: | Linea 63: |
| Linea 55: | Linea 66: |
| Linea 57: | Linea 67: |
| Linea 58: | Linea 69: |
| Linea 59: | Linea 71: |
| Linea 60: | Linea 73: |
| Linea 61: | Linea 75: |
| }}} 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 81: |
| Linea 68: | Linea 83: |
| Linea 75: | Linea 91: |
| Linea 76: | Linea 93: |
| Linea 77: | Linea 95: |
| Linea 78: | Linea 97: |
| Linea 79: | Linea 99: |
| Linea 80: | Linea 101: |
| Linea 81: | Linea 103: |
| Linea 82: | Linea 105: |
| Linea 83: | Linea 107: |
| Linea 84: | Linea 109: |
| Linea 85: | Linea 111: |
| Linea 86: | Linea 113: |
| Linea 87: | Linea 115: |
| Linea 88: | Linea 117: |
| Linea 89: | Linea 119: |
| Linea 90: | Linea 121: |
| Linea 92: | Linea 124: |
| Linea 94: | Linea 125: |
| Linea 95: | Linea 127: |
| Linea 96: | Linea 129: |
| Linea 97: | Linea 131: |
| Linea 98: | Linea 133: |
| Linea 99: | Linea 135: |
| Linea 100: | Linea 137: |
| Linea 101: | Linea 139: |
| Linea 102: | Linea 141: |
| }}} 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 151: |
| Linea 116: | Linea 157: |
| Linea 117: | Linea 159: |
| Linea 118: | Linea 161: |
| }}} == 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 173: |
| Linea 128: | Linea 175: |
| Linea 129: | Linea 177: |
| Linea 130: | Linea 179: |
| Linea 131: | Linea 181: |
| Linea 132: | Linea 183: |
| Linea 133: | Linea 185: |
| Linea 134: | Linea 187: |
| Linea 135: | Linea 189: |
| Linea 136: | Linea 191: |
| }}} == 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 204: |
| Linea 147: | Linea 206: |
| Linea 148: | Linea 208: |
| Linea 149: | Linea 210: |
| Linea 150: | Linea 212: |
| Linea 151: | Linea 214: |
| Linea 152: | Linea 216: |
| }}} == 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 226: |
| }}} == 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 238: |
| Linea 173: | Linea 240: |
| Linea 174: | Linea 242: |
| Linea 175: | Linea 244: |
| Linea 176: | Linea 246: |
| Linea 177: | Linea 248: |
| Linea 178: | Linea 250: |
| Linea 183: | Linea 256: |
| #!/bin/bash | #!/bin/bash |
| Linea 185: | Linea 260: |
| Linea 186: | Linea 262: |
| Linea 187: | Linea 264: |
| Linea 188: | Linea 266: |
| # | # |
| Linea 190: | Linea 270: |
| Linea 191: | Linea 272: |
| # | # |
| Linea 193: | Linea 276: |
| Linea 194: | Linea 278: |
| Linea 195: | Linea 280: |
| Linea 196: | Linea 282: |
| Linea 197: | Linea 284: |
| Linea 200: | Linea 286: |
| Linea 201: | Linea 288: |
| Linea 205: | Linea 293: |
| Questo script sarà presto modificato per lavorare anche con file che contengono spazi nel nome. {{{ #!/bin/bash # |
{{{ #!/bin/bash # |
| Linea 211: | Linea 300: |
| Linea 212: | Linea 302: |
| Linea 213: | Linea 304: |
| Linea 214: | Linea 306: |
| Linea 215: | Linea 308: |
| Linea 216: | Linea 310: |
| Linea 221: | Linea 316: |
| Linea 222: | Linea 318: |
| Linea 223: | Linea 320: |
| Linea 224: | Linea 322: |
| # | # |
| Linea 226: | Linea 326: |
| # | # |
| Linea 228: | Linea 330: |
| Linea 229: | Linea 332: |
| Linea 231: | Linea 334: |
| Linea 232: | Linea 336: |
| Linea 237: | Linea 342: |
| #!/bin/bash # |
#!/bin/bash # |
| Linea 240: | Linea 348: |
| # | # |
| Linea 242: | Linea 352: |
| # | # |
| Linea 244: | Linea 356: |
| Linea 245: | Linea 358: |
| Linea 247: | Linea 360: |
| Linea 248: | Linea 362: |
| Linea 249: | Linea 364: |
| Linea 250: | Linea 366: |
| Linea 251: | Linea 368: |
| Linea 252: | Linea 370: |
| Linea 253: | Linea 372: |
| Linea 254: | Linea 374: |
| Linea 255: | Linea 376: |
| Linea 256: | Linea 378: |
| Linea 257: | Linea 380: |
| Linea 258: | Linea 382: |
| Linea 259: | Linea 384: |
| Linea 260: | Linea 386: |
| Linea 261: | Linea 388: |
| Linea 262: | Linea 390: |
| Linea 263: | Linea 392: |
| Linea 264: | Linea 394: |
| Linea 266: | Linea 396: |
| Linea 267: | Linea 398: |
| Linea 268: | Linea 400: |
| Linea 269: | Linea 402: |
| Linea 270: | Linea 404: |
| Linea 271: | Linea 406: |
| Linea 273: | Linea 408: |
| Linea 274: | Linea 410: |
| Linea 279: | Linea 416: |
| Linea 280: | Linea 418: |
| Linea 281: | Linea 420: |
| Linea 282: | Linea 422: |
| Linea 283: | Linea 424: |
| Linea 284: | Linea 426: |
| Linea 285: | Linea 428: |
| Linea 286: | Linea 430: |
| Linea 287: | Linea 432: |
| Linea 288: | Linea 434: |
| Linea 289: | Linea 436: |
| Linea 290: | Linea 438: |
| Linea 291: | Linea 440: |
| Linea 292: | Linea 442: |
| Linea 293: | Linea 444: |
| }}} Nota: Potete fare lo stesso premendo CTRL+H su Nautilus |
}}} È possibile fare lo stesso con la combinazione di tasti '''CTRL+H''' su Nautilus. == Ridimensiona-Comprimi 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 }}} = 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.
Ridimensiona-Comprimi 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
Ulteriori risorse
- [wiki:Ubuntu/NautilusScriptsHowto Documento originale]
