ubuntu-fr

Communauté francophone des utilisateurs de Kubuntu

[[nautilus_scripts]]

Piste: » nautilus_scripts


Les scripts pour nautilus

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'exécutent avec les privilèges de l'utilisateur root ce qui signifie que vous pouvez gravement endommager votre système. Agissez avec prudence.

Quelques explications

Le répertoire de scripts de Nautilus est ~/.gnome2/nautilus-scripts.

Placez vos scripts là et rendez-les exécutables (chmod +x {nom du script}). Vous devriez nommer ces fichiers de façon à ce qu'ils évoquent quelque chose pour vous car c'est sous leur nom qu'ils apparaîtront 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, c'est la première ligne #! qui compte). Il est également possible de créer des dossiers pour mieux organiser les scripts. Vos scripts seront alors disponibles dans toutes les fenêtres Nautilus dans Fichier → Script ainsi que dans le menu contextuel (clic droit). Vous ne verrez pas le menu Fichier → Script tant que vous n'aurez pas ajouté votre premier script dans « ~/.gnome2/nautilus-scripts ».

Attention : veillez à nommer le fichier du script en commençant par une majuscule, sinon ça ne fonctionnera pas ! Exemple : « Imprimer ». Contre-exemple : « imprimer ».

Exemples

Envoyer par courriel

Il suffit d'installer, si nécessaire, l'extension nautilus-sendto.

Supprimer les fichiers de sauvegarde de Gedit

Gedit copie chaque fichier avant la sauvegarde sous le nom « $fichier~ ». Il suffira d'appliquer le script d'un clic droit → Scripts → rm-backups.sh :

#! /bin/bash

rm ./*~
zenity --info --text="Fichiers de backup *~ supprimés :)"

Monter et démonter une image ISO

Avec GMount-ISO (Ubuntu 7.04)

Sous Ubuntu 7.04 (Feisty Fawn), un programme vous permet de monter des images ISO sans trop de mal : GMount-ISO.

Le faire avec Nautilus ou versions antérieures

Monter une image ISO

Monter une image ISO à partir de Nautilus.

#!/bin/bash
#
# En chargeant le module loop on s'assure de son chargement et qu'il est pret a etre utilise  
# Si il est déjà chargé il ne se passe rien.
lsmod | grep '^loop ' || gksudo -u root -k -m "Chargement du module noyau 'loop'" modprobe loop
for i in "$@"
do
	gksudo -u root -k -m "Montage de l'image ISO" mount -o loop -t iso9660 "$i" /media/iso
done
Démonter une image ISO

Démonter une image ISO à partir de Nautilus.

#!/bin/bash
#
for i in "$@"
do
	gksudo -u root -k -m "Démontage de l'image ISO" umount "$i"
done

Ouvrir en tant qu'administrateur

Les 3 scripts suivants font exactement la même chose que le paquet apt://nautilus-gksu.

Éditer un fichier avec Gedit avec les privilèges ROOT

#!/bin/bash
gksudo -u root -k -D "Éditer les fichiers sous root" gedit "$@"

Ouvrir Nautilus dans le répertoire choisi avec les privilèges ROOT

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

Exécuter les fichiers en tant que ROOT

#!/bin/bash
for i
do
	gksudo -u root -k "$i"
done

Rechercher ici/dedans

Ouvrir une fenêtre de recherche dans le répertoire sélectionné :

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

Autre version, avec recherches multiples :

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

Ouvrir un terminal ici

Via l'extension « nautilus-open-terminal »

Nautilus Open Terminal permet d'ouvrir un terminal directement dans le répertoire courant de Nautilus via un clic droit → Ouvrir dans un terminal.

Pour l'installer il suffit d'installer le paquet nautilus-open-terminal et ensuite de redémarrer la session.

Lire les fichiers du répertoire avec XMMS

Permet d'envoyer tous les fichiers du répertoire dans la liste de lecture de XMMS :

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

Créer un lien sur le bureau

Permet de créer des raccourcis sur le bureau :

#!/bin/sh
LINKS="${HOME}/Bureau"
ZENITY=zenity

warning() {
    ${ZENITY} --warning --warning-text "$*"
}

if [ ! -d "${LINKS}" ]; then
    warning "No desktop directory '${LINKS}' found - sorry."
    exit 1
fi

declare -a NAUTFILES
export IX=0
while read FILE; do
    if [ "x${FILE}" != "x" -a "x${FILE}" != 'x"' ]; then
            NAUTFILES[${IX}]="${FILE}"
            IX=$[ ${IX} + 1 ]
    fi
done <<EOF
${NAUTILUS_SCRIPT_SELECTED_FILE_PATHS[@]}
EOF

if [ 0 -eq ${IX} ]; then
    URI="${NAUTILUS_SCRIPT_CURRENT_URI}"
    METHOD="${URI:0:7}"
    if [ "file://" == "${METHOD}" ]; then
        NAUTFILES[0]="${URI:7}"
        IX=1
    fi
fi

if [ 0 == "${#NAUTFILES[@]}" ]; then
    warning "Nothing to do"
    exit
fi

for FILE in "${NAUTFILES[@]}"; do
    TAILBASE=`basename "${FILE}"`
    NEWNAME=`${ZENITY} --entry \
        --title "Enter link name" \
        --text "Enter the name of the new link for '${FILE}'" \
        --entry-text "${TAILBASE}"`
    if [ 0 -ne $? -o "x${NEWNAME}" == "x" ]; then
        warning "New name cancelled or not entered successfully"
    else
        NEWFILE="${LINKS}/${NEWNAME}"
        if [ -e "${NEWFILE}" ]; then
            warning "An object called '${NEWFILE}' exists already"
        elif ! /bin/ln -s "${FILE}" "${NEWFILE}"; then
            warning "New link could not be created"
        fi
    fi
done
Dans le script d'origine, le lien se créait dans « ~/Desktop », il a été remplacé par « ~/Bureau » puisque nous sommes en version française.

Contributeurs : FredB (traduction), Fabien26 (1re actualisation), Floriang (2e actualisation).


nautilus_scripts.txt · Dernière modification: Le 18/08/2008, à 14:27 par Ner0lph
Le contenu de ce wiki est sous double licence : CC BY-SA et GNU FDL