Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

Les deux révisions précédentes Révision précédente
applications:nautilus_scripts [Le 02/04/2007, 19:25]
82.66.142.60 déplacée vers la racine
— (Version actuelle)
Ligne 1: Ligne 1:
-{{tag>​hoary}} 
  
-[[https://​wiki.ubuntu.com/​NautilusScriptsHowto|Traduit]] par [[utilisateurs:​fredb | FredB]]. 
- 
- 
-===== Les scripts pour nautilus ===== 
- 
-**Notes: Ces scripts ne sont peut-être plus à jour, utilisez les à vos risques et périls** 
- 
-Le gestionnaire de fichiers Nautilus dispose de fonctions limitées en terme de scripts. Les scripts suivants peuvent être copiées dans le répertoire de scripts de Nautilus. Nombre de ces scripts s'​executent avec les privilèges de l'​utilisateur ROOT ce qui signifie que vous pouvez gravement endommager votre système. Agissez avec prudence. 
- 
-Le répertoire de scripts de nautilus : 
-<​code>​ 
-~/​.gnome2/​nautilus-scripts 
-</​code>​ 
- 
-Placez vos scripts là et rendez-les executables (**chmod +x {nom du script}**). Vous devriez nommer ces fichiers de façon à ce qu'ils évoquent quelquechose pour vous car c'est sous leur nom qu'ils apparaitront dans vos menus Nautilus. De plus vous n'avez pas besoin de rajouter l'​extension **.sh** de scripts shell (Note du traducteur : dans le monde Unix/Linux les extensions des noms de fichier n'ont aucune importance ...). Il est également possible de créer des dossiers pour mieux organiser les scripts. 
- Une fois que vous aurez fait ceci, vos scripts seront disponibles dans toutes les fenêtres Nautilus dans Fichier->​Script ainsi que dans le menu contextuel (clique droit). Vous ne verrez pas le menu Fichier->​Script tant que vous n'​aurez pas ajouté votre premier script dans ~/​.gnome2/​nautilus-scripts 
- 
-==== Envoyer le fichier sélectionné par Mail ==== 
- 
-Celui-ci est réellement très pratique. Combien de fois avez vous eu besoin de trouver un fichier puis de l'​envoyer ? Et pour être honnête, c'est loin d'​être simple à partir de Mozilla Thunderbird ou d'​Evolution. Il est beaucoup plus facile d'​utiliser Nautilus pour trouver votre fichier et alors de l'​envoyer à partir de là. 
- 
-<​code>​ 
-#​!/​usr/​bin/​perl -w 
-    # Par John Russell 
- 
-    # Ce script envoie le fichier selectionne avec votre client de messagerie. 
- 
-    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:​ Je ne peux pas envoyer $file.\ 
-    \n\n    seuls les fichiers reguliers peuvent etre envoye.\ 
-    ","​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);​ 
-    } 
-</​code>​ 
-Ajouté par Darell : J'ai trouvé que la syntaxe de mailto: ci-dessus ne fonctionne pas avec Mozilla Thunderbird. j'ai donc créé la version suivante qui semble fonctionner avec Thunderbird \\ 
-Ajouté par [[utilisateurs:​Herbie]] : le script fonctionne très bien avec kmail, merci pour ce script, au passage la fonction "​envoyer à" dans le menu par défaut de Gnome ne fonctionne pas dans mon cas. 
-<​code>​ 
-#​!/​usr/​bin/​perl -w 
-    # par John Russell 
-    # et bidouille pour fonctionner avec Thunderbird par Darrell 
- 
-    # Ce script envoie le(s) fichier(s) selectionne(s) avec 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:​ Je ne peux pas envoyer $file.\ 
- ​\n\n ​   seuls les fichiers reguliers peuvent etre envoye.\ 
-    ","​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; 
-    # appelle un script shell afin d'​appeler thunderbird differemment suivant ​ 
-    # qu'il soit deja lance ou non 
-        my $command = ("​~/​scripts/​thunderbird-email-attachments " . $attach_string);​ 
-        system($command);​ 
-    } 
-</​code>​ 
-Vous verrez qu'un script shell est requis,"​~/​scripts/​thunderbird-email-attachments"​ dans mon exemple ci-dessus, ne le mettez pas dans le répertoire de script de Nautilus sinon il apparaitra dans le menu contextuel. 
-<​code>​ 
-#!/bin/sh 
- 
-    # Si thunderbird est deja lance ouvre une fenetre de composition dans l'​instance en cours 
- 
-            if `ps xc | grep -q mozilla-thunder`;​ then  
-                    exec mozilla-thunderbird -a Mozilla-Thunderbird -remote\ 
- "​xfeDoCommand(ComposeMessage,​$1)"​ 
- 
-    # sinon lance une nouvelle instance avec juste la fenetre de composition 
-            else 
-                    exec mozilla-thunderbird -compose $1  
-            fi 
-</​code>​ 
- 
-==== Monter une image ISO ==== 
- 
-Monter une image ISO à partir de Nautilus. Note de carney1979 : ce script sera bientôt mis à jour afin de fonctionner avec les noms de fichier contenant des espaces. 
- 
-<​code>​ 
- #​!/​bin/​bash 
-    # 
-    #en chargeant le module loop on s'​assure de son chargement et qu'​ilest pret a etre utilise  ​ 
-    #Si il est deja charge il ne se passe rien. 
-    modprobe loop 
-    for I in `echo $*` 
-    do 
-       ​foo=`gksudo -u root -k -m\ 
- "​entrez votre mot de passe afin d'​acceder au terminal en tant que root"\ 
- /​bin/​echo "got r00t?"​` 
-    sudo mount -o loop -t iso9660 $I /media/iso 
-       done 
-    done 
-    exit0 
-</​code>​ 
-==== Démonter une image ISO ==== 
- 
-Démonter une image ISO à partir de Nautilus. Note de carney1979 : ce script sera bientôt mis à jour afin de fonctionner avec les noms de fichier contenant des espaces. 
- 
-<​code>​ 
-    #!/bin/bash 
-    # 
-    for I in `echo $*` 
-    do 
-       ​foo=`gksudo -u root -k -m\ 
- "​entrez votre mot de passe afin d'​acceder au terminal en tant que root"\ 
- /​bin/​echo "got r00t?"​` 
-    sudo umount $I 
-      done 
-    done 
-    exit0 
-</​code>​ 
-==== Définir un fichier en lecture seule ==== 
- 
-Changer les permissions d'un fichier en lecture seule 
-<​code>​ 
-  #!/bin/bash 
-  chmod ugo-wx $* 
-</​code>​ 
- 
-==== Editer un fichier avec GEDIT avec les privilèges ROOT ==== 
- 
-Note de carney1979 : ce script sera bientôt mis à jour afin de fonctionner avec les noms de fichier contenant des espaces. 
-<​code>​ 
-#!/bin/bash 
-    # 
-    for I in `echo $*` 
-    do 
-       ​foo=`gksudo -u root -k -m\ 
- "​entrez votre mot de passe afin d'​acceder au terminal en tant que root"\ 
- /​bin/​echo "got r00t?"​` 
-    sudo gedit $I 
-       done 
-    done 
-    exit0 
-</​code>​ 
- 
-==== Ouvrir Nautilus dans le répertoire choisi avec les privilèges ROOT ==== 
- 
-<​code>​ 
-#!/bin/bash 
-    # root-nautilus-here 
-    # Ouvrir Nautilus dans le repertoire choisi avec les privileges ROOT 
-    # necessite des privileges sudo et gksudo, ce qui peut entrainner des risques de securites ​       ​ 
-    #Installez le dans votre répertoire ~/​Nautilus/​scripts. 
-    # 
-    # Place dans le domaine publique par Shane T. Mueller 2001 
-    # correctifs fournis par Doug Nordwall 
-    # 
-    # 2004.04.18 -- keith@penguingurus.com - Ajout de l'​utilisation de gksudo 
-    #               afin de lancer une fenetre de mot de passe si sudo a expire. 
-    #               Les echos sont renvoyés 
-    #               vers la sortie standard de root. Mais gksudo ​ 
-    #               met à jour votre acces sudo 
-    #               donc le lancement de nautilus avec sudo fonctionnera sans 
-    #               ​demander de mot de passe        ​ 
-    ​ 
-    ​ 
-    foo=`gksudo -u root -k -m\ 
- "​entrez votre mot de passe afin de lancer nautilus en tant que root"\ 
- /​bin/​echo "got r00t?"​` 
-    sudo nautilus --no-desktop $NAUTILUS_SCRIPT_CURRENT_URI 
-</​code>​ 
- 
-==== Executer un fichier en tant que ROOT ==== 
- 
-Note de carney1979 : ce script sera bientôt mis à jour afin de fonctionner avec les noms de fichier contenant des espaces. 
-<​code>​ 
-    #!/bin/bash 
-    # 
-    for I in `echo $*` 
-    do 
-       /​usr/​bin/​gksudo $I 
-       done 
-    done 
-    exit0 
-</​code>​ 
- 
-==== Ouvrir une fenêtre de recherche dans le répertoire sélectionné ==== 
-<​code>​ 
-#!/bin/sh 
-    # De Johnathan Bailes 
-    # Ce script ouvre l'​outil de recherche gnome dans le répertoire que vous sélectionnez. 
-    # 
-    # Distribué selon les termes de GNU GPL version 2 ou ultérieur 
-    # 
-    # Installez le dans votre répertoire ~/​Nautilus/​scripts. 
-    # Vous devez utiliser Nautilus 1.0.3+ pour utiliser ce script. 
-    ​ 
-    cd $NAUTILUS_SCRIPT_CURRENT_URI 
-    exec gnome-search-tool 
-</​code>​ 
- 
-Autre version avec recherches multiples : 
-<​code>​ 
-#! /bin/sh 
- 
-   # Par gusaweb <gusaweb at gmail.com>​ 
- 
-   # Permet d'​utiliser l'​outil de recherche gnome 
-   # sur un/des répertoire(s) ou fichier(s) 
-   # sélectionné(s). 
- 
-   # Distribué selon les termes de la GNU GPL 2 
-   # ou ultérieure 
- 
-   # pour chaque path sélectionné 
-   for path in $NAUTILUS_SCRIPT_SELECTED_FILE_PATHS ; 
-   do 
-      # s'il s'agit d'un répertoire on effectue 
-      # la recherche dedans 
-      if ( test -d $path ) 
-      then 
-         exec gnome-search-tool --path=$path & 
-      # s'il s'agit d'un fichier on effectue la 
-      # recherche sur le répertoire qui le contient 
-      else 
-         exec gnome-search-tool --path=`dirname $path` & 
-      fi ; 
-   done 
-</​code>​ 
- 
- 
-==== Ouvrir un terminal ici ==== 
- 
-Il existe maintenant (Breezy) un paquet **nautilus-open-terminal** qui permet d'​obtenir le même résultat. 
- 
-<​code>​ 
-#!/bin/bash 
-    # 
-    # Ce script ouvre le terminal gnome dans le répertoire que vous sélectionnez. 
-    # 
-    # Distribué selon les termes de GNU GPL version 2 ou ultérieur 
-    # 
-    # Installez le dans votre répertoire ~/​Nautilus/​scripts. 
-    # Vous devez utiliser Nautilus 1.0.3+ pour utiliser ce script. 
-    ​ 
-    # Lorsqu'​un répertoire est selectionné ouvre celui-ci. Sinon ouvre le répertoire courant 
-    # Si plus d'un répertoire est sélectionné affiche une erreur. 
-    if [ -n "​$NAUTILUS_SCRIPT_SELECTED_FILE_PATHS"​ ]; then 
-        set $NAUTILUS_SCRIPT_SELECTED_FILE_PATHS 
-        if [ $# -eq 1 ]; then 
-            destination="​$1"​ 
-            # Va dans le répertoire d'un fichier si un fichier est selectionné 
-            if [ ! -d "​$destination"​ ]; then 
-                destination="​`dirname "​$destination"​`"​ 
-            fi 
-        else 
-            zenity --error --title="​Erreur - Ouvre un terminal ici" \ 
-               ​--text="​Vous ne pouvez selectionner qu'un repertoire."​ 
-            exit 1 
-        fi 
-    else 
-        destination="​`echo "​$NAUTILUS_SCRIPT_CURRENT_URI"​ | sed '​s/​^file:​\/​\///'​`"​ 
-    fi 
-    ​ 
-    # Seuls les repertoires locaux peuvent etre ouverts 
-    if [ -n "`echo "​$destination"​ | grep '​^[a-zA-Z0-9]\+:'​`"​ ]; then 
-        zenity --error --title="​Erreur - Ouvre un terminal ici" \ 
-           ​--text="​Seuls les repertoires locaux peuvent etre ouverts."​ 
-        exit 1 
-    fi 
-    ​ 
-    cd "​$destination"​ 
-    exec x-terminal-emulator 
- 
-</​code>​ 
- 
-==== Masquer ou montrer les fichiers cachés ==== 
-<​code>​ 
-    #!/bin/sh 
-    # Lorsque des fichiers masqués (.emacs, etc) sont cachés, montre l'​option "Show Hidden Files"​. 
-    # Lorsque des fichiers masqués (.emacs, etc) sont cachés, montre l'​option "Hide Hidden Files"​. 
-    # Utilise gconf pour basculer entre les deux options de Nautilus. 
-    # Doit être placé dans ~/​.gnome2/​nautilus-scripts/​ et être executable. 
-    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 
-</​code>​ 
-**Note:​**Vous pouvez faire la même chose sans script en pressant Ctrl+H dans Nautilus. 
- 
-==== Lire les fichiers du répertoire avec xmms ==== 
- 
-Permet d'​envoyer tout les fichiers du répertoire dans la playlist de xmms 
- 
-<​code>​ 
-#!/bin/sh 
-base="​`echo $NAUTILUS_SCRIPT_CURRENT_URI | cut -d'/'​ -f3- | sed '​s/​%20/​ /​g'​`"​ 
- 
-if [ -z "​$NAUTILUS_SCRIPT_SELECTED_FILE_PATHS"​ ]; then 
-   ​dir="​$base"​ 
-else 
-   while [ ! -z "​$1"​ -a ! -d "​$base/​$1"​ ]; do shift; done 
-   ​dir="​$base/​$1"​ 
-fi 
- 
-if [ "​$NAUTILUS_SCRIPT_CURRENT_URI"​ == "​x-nautilus-desktop:///"​ ]; then 
-dir="​Desktop"​ 
-fi 
- 
-if [ "​$NAUTILUS_SCRIPT_CURRENT_URI"​ == "​trash:"​ ]; then 
-dir="​$HOME/​.Trash"​ 
-fi 
- 
-if [ "​$NAUTILUS_SCRIPT_CURRENT_URI"​ == "​file:///"​ ]; then 
-dir="/"​ 
-fi 
- 
-FIRST_URI="​`echo -n $NAUTILUS_SCRIPT_SELECTED_URIS`"​ 
- 
-if [ "​$FIRST_URI"​ == "​x-nautilus-desktop:///​home"​ ]; then 
-dir="​$HOME"​ 
-fi 
- 
-#if [ "​$FIRST_URI"​ != ""​ ]; then 
-#​dir="​`echo $FIRST_URI | cut -c8-`" 
-#fi 
- 
-if [ "​$FIRST_URI"​ == "​x-nautilus-desktop:///​computer"​ ]; then 
-dir="/"​ 
-fi 
- 
- 
-xmms "​$dir"​ 
-</​code>​ 
  • applications/nautilus_scripts.1175534750.txt.gz
  • Dernière modification: Le 18/04/2011, 14:47
  • (modification externe)