Wiki Ubuntu-it

Indice
Partecipa
FAQ
Wiki Blog
------------------
Ubuntu-it.org
Forum
Chiedi
Chat
Cerca
Planet
  • Pagina non alterabile
  • Informazioni
  • Allegati
  • Differenze per "AmbienteGrafico/Gnome/ScriptNautilus"
Differenze tra le versioni 1 e 2
Versione 1 del 28/05/2005 21.27.13
Dimensione: 9504
Autore: adsl-213-190-44-43
Commento: imported from the old wiki
Versione 2 del 06/07/2005 10.27.08
Dimensione: 9344
Autore: 81-178-116-62
Commento: fixed broken icons
Le cancellazioni sono segnalate in questo modo. Le aggiunte sono segnalate in questo modo.
Linea 1: Linea 1:
= ItalianNautilusScriptsHowto = = NautilusScriptsHowto =
Linea 4: Linea 4:
Linea 5: Linea 6:
  
{{{

{{{
Linea 8: Linea 10:
Linea 12: Linea 15:
http://www.ubuntulinux.org/wiki/IconNautilus.png attachment:IconsPage/IconNautilus.png
Linea 19: Linea 22:
Linea 20: Linea 24:
Linea 23: Linea 28:
Linea 30: Linea 36:
Linea 31: Linea 38:
Linea 38: Linea 46:
Linea 39: Linea 48:
Linea 40: Linea 50:
Linea 41: Linea 52:
Linea 42: Linea 54:
Linea 43: Linea 56:
Linea 44: Linea 58:
Linea 45: Linea 60:
Linea 46: Linea 62:
Linea 47: Linea 64:
Linea 48: Linea 66:
Linea 49: Linea 68:
Linea 50: Linea 70:
Linea 51: Linea 72:
Linea 52: Linea 74:
Linea 53: Linea 76:
Linea 55: Linea 79:
Linea 57: Linea 80:
Linea 58: Linea 82:
Linea 59: Linea 84:
Linea 60: Linea 86:
Linea 61: Linea 88:
Linea 66: Linea 94:
Linea 67: Linea 96:
Linea 68: Linea 98:
Linea 75: Linea 106:
Linea 76: Linea 108:
Linea 77: Linea 110:
Linea 78: Linea 112:
Linea 79: Linea 114:
Linea 80: Linea 116:
Linea 81: Linea 118:
Linea 82: Linea 120:
Linea 83: Linea 122:
Linea 84: Linea 124:
Linea 85: Linea 126:
Linea 86: Linea 128:
Linea 87: Linea 130:
Linea 88: Linea 132:
Linea 89: Linea 134:
Linea 90: Linea 136:
Linea 92: Linea 139:
Linea 94: Linea 140:
Linea 95: Linea 142:
Linea 96: Linea 144:
Linea 97: Linea 146:
Linea 98: Linea 148:
Linea 99: Linea 150:
Linea 100: Linea 152:
Linea 101: Linea 154:
Linea 102: Linea 156:
}}}
}}}
Linea 106: Linea 162:
Linea 111: Linea 168:
Linea 116: Linea 174:
Linea 117: Linea 176:
Linea 118: Linea 178:
Linea 121: Linea 182:
Linea 124: Linea 186:
    #!/bin/bash
    #

#!/bin/bash

#
Linea 127: Linea 192:
Linea 128: Linea 194:
Linea 129: Linea 196:
Linea 130: Linea 198:
Linea 131: Linea 200:
Linea 132: Linea 202:
Linea 133: Linea 204:
Linea 134: Linea 206:
Linea 135: Linea 208:
Linea 136: Linea 210:
Linea 143: Linea 218:
    #!/bin/bash
    #

#!/bin/bash

#
Linea 146: Linea 224:
Linea 147: Linea 226:
Linea 148: Linea 228:
Linea 149: Linea 230:
Linea 150: Linea 232:
Linea 151: Linea 234:
Linea 152: Linea 236:
Linea 159: Linea 244:
Linea 162: Linea 248:
Linea 169: Linea 256:
    #!/bin/bash
    #

#!/bin/bash

#
Linea 172: Linea 262:
Linea 173: Linea 264:
Linea 174: Linea 266:
Linea 175: Linea 268:
Linea 176: Linea 270:
Linea 177: Linea 272:
Linea 178: Linea 274:
Linea 183: Linea 280:
    #!/bin/bash
#!/bin/bash
Linea 185: Linea 284:
Linea 186: Linea 286:
Linea 187: Linea 288:
Linea 188: Linea 290:
    #
#
Linea 190: Linea 294:
Linea 191: Linea 296:
    #
#
Linea 193: Linea 300:
Linea 194: Linea 302:
Linea 195: Linea 304:
Linea 196: Linea 306:
Linea 197: Linea 308:
         
Linea 200: Linea 310:
Linea 201: Linea 312:
Linea 208: Linea 320:
    #!/bin/bash
    #

#!/bin/bash

#
Linea 211: Linea 326:
Linea 212: Linea 328:
Linea 213: Linea 330:
Linea 214: Linea 332:
Linea 215: Linea 334:
Linea 216: Linea 336:
Linea 221: Linea 342:
Linea 222: Linea 344:
Linea 223: Linea 346:
Linea 224: Linea 348:
    #
#
Linea 226: Linea 352:
    #
#
Linea 228: Linea 356:
Linea 229: Linea 358:
    
Linea 231: Linea 360:
Linea 232: Linea 362:
Linea 237: Linea 368:
    #!/bin/bash
    #

#!/bin/bash

#
Linea 240: Linea 374:
    #
#
Linea 242: Linea 378:
    #
#
Linea 244: Linea 382:
Linea 245: Linea 384:
    
Linea 247: Linea 386:
Linea 248: Linea 388:
Linea 249: Linea 390:
Linea 250: Linea 392:
Linea 251: Linea 394:
Linea 252: Linea 396:
Linea 253: Linea 398:
Linea 254: Linea 400:
Linea 255: Linea 402:
Linea 256: Linea 404:
Linea 257: Linea 406:
Linea 258: Linea 408:
Linea 259: Linea 410:
Linea 260: Linea 412:
Linea 261: Linea 414:
Linea 262: Linea 416:
Linea 263: Linea 418:
Linea 264: Linea 420:
    
Linea 266: Linea 422:
Linea 267: Linea 424:
Linea 268: Linea 426:
Linea 269: Linea 428:
Linea 270: Linea 430:
Linea 271: Linea 432:
    
Linea 273: Linea 434:
Linea 274: Linea 436:
Linea 279: Linea 442:
Linea 280: Linea 444:
Linea 281: Linea 446:
Linea 282: Linea 448:
Linea 283: Linea 450:
Linea 284: Linea 452:
Linea 285: Linea 454:
Linea 286: Linea 456:
Linea 287: Linea 458:
Linea 288: Linea 460:
Linea 289: Linea 462:
Linea 290: Linea 464:
Linea 291: Linea 466:
Linea 292: Linea 468:
Linea 293: Linea 470:
Linea 296: Linea 474:

NautilusScriptsHowto

    Draft

Nautilus scripting

attachment:IconsPage/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.

    #!/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);

    }

Aggiunto da Darrell: Ho notato che la sintassi mailto: non funziona con mozilla-thunderbird. Ho creato la seguente versione che sembra 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);

    }

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):

    #!/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

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

    #

    #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

Unmount ISO

Smontare immagine ISO , da nautilus. questo script sarà presto modificato per lavorare anche con file che contengono spazi nel nome.

    #!/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 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.

    #!/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

Questo script sarà presto modificato per lavorare anche con file che contengono spazi nel nome.

    #!/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

Nota: Potete fare lo stesso premendo CTRL+H su Nautilus