GNOME - Nautilus Scripts : Exécuter des scripts sur des fichiers ou dossiers
Table des matières
Les scripts Nautilus permettent d'ajouter des fonctionnalités personnalisées au gestionnaire de fichiers Nautilus dans l'environnement GNOME. Ils offrent un moyen simple et puissant d'automatiser des tâches courantes sur les fichiers et dossiers.
La seule limite de ces scripts est votre imagination.
Les scripts Nautilus sont stockés dans le répertoire ~/.local/share/nautilus/scripts/.
Nautilus détecte automatiquement tous les fichiers exécutables dans ce dossier et les affiche dans le menu contextuel "Scripts".
Si on n'a pas encore créé de scripts sur notre système, on pourra créer l'arborescence :
D'ailleurs, une fois le dossier créé, quand on est dedans, on a une indication sur l'utilité :
On pourra y placer des scripts dans ce dossier, qui s'exécuteront sur le fichier ou dossier sélectionné.
Dans ces démos, on va utiliser des fenêtres générées avec Zenity. Il devra être installé.
On va commencer par écrire un script tout simple, qui va afficher une pop-up avec le nom du fichier sur lequel on a demandé l'exécution du script.
On va partir sur un script BASH. Le nom du fichier sera celui affiché dans le menu script :
Je vais y placer ceci dedans :
Bien penser à mettre les droits d'exécution sur le script :
Lorsqu'on fait un clic droit sur le fichier, on a le menu Script qui une fois déroulé on a la liste de nos scripts créés :
Une fois le script lancé, la pop-up indique bien le fichier sur lequel on a demandé l'exécution du script :
Grâce à ce script, on a déjà une base de départ pour développer ce qu'on a envie.
Sur ma chaîne Twitch, pour les récompenses, les illustrations sont des images en 3 résolutions différentes : 112px, 56px et 26px.
J'ai donc créé un script :
Voici le contenu du script :
Une fois le script rendu exécutable :
J'exécute le script rapidement :
Mes images sont générées instantanément :
Plusieurs variables sont utilisables dans les scripts.
Voici un script qui peut aider à voir les variables retournées :
Contenu :
Si je sélectionne dans mon dossier personnel les fichiers 1.txt, 2.txt et 3 espace.txt, voici le retour proposé dans la pop-up :
Introduction
Les scripts Nautilus permettent d'ajouter des fonctionnalités personnalisées au gestionnaire de fichiers Nautilus dans l'environnement GNOME. Ils offrent un moyen simple et puissant d'automatiser des tâches courantes sur les fichiers et dossiers.
La seule limite de ces scripts est votre imagination.
Emplacement des scripts
Les scripts Nautilus sont stockés dans le répertoire ~/.local/share/nautilus/scripts/.
Nautilus détecte automatiquement tous les fichiers exécutables dans ce dossier et les affiche dans le menu contextuel "Scripts".
Si on n'a pas encore créé de scripts sur notre système, on pourra créer l'arborescence :
Code BASH :
mkdir -p ~/.local/share/nautilus/scripts/
D'ailleurs, une fois le dossier créé, quand on est dedans, on a une indication sur l'utilité :
On pourra y placer des scripts dans ce dossier, qui s'exécuteront sur le fichier ou dossier sélectionné.
Exemples
Dans ces démos, on va utiliser des fenêtres générées avec Zenity. Il devra être installé.
Script simple : Interagir avec le fichier sélectionné
On va commencer par écrire un script tout simple, qui va afficher une pop-up avec le nom du fichier sur lequel on a demandé l'exécution du script.
On va partir sur un script BASH. Le nom du fichier sera celui affiché dans le menu script :
Code BASH :
vim "~/.local/share/nautilus/scripts/Demo Fichier"
Je vais y placer ceci dedans :
Code BASH :
#! /bin/bash zenity --info --title "Fichier sélectionné" --text="$1"
Bien penser à mettre les droits d'exécution sur le script :
Code BASH :
chmod +x "~/.local/share/nautilus/scripts/Demo Fichier"
Lorsqu'on fait un clic droit sur le fichier, on a le menu Script qui une fois déroulé on a la liste de nos scripts créés :
Une fois le script lancé, la pop-up indique bien le fichier sur lequel on a demandé l'exécution du script :
Grâce à ce script, on a déjà une base de départ pour développer ce qu'on a envie.
Script perso : Convertir une image en 112px 56px et 28 px
Sur ma chaîne Twitch, pour les récompenses, les illustrations sont des images en 3 résolutions différentes : 112px, 56px et 26px.
J'ai donc créé un script :
Code BASH :
vim "~/.local/share/nautilus/scripts/Convertir 112 56 28"
Voici le contenu du script :
Code BASH :
#! /bin/bash FICHIER="$1" FICNOM=${FICHIER:0:-4} FICEXT=${FICHIER: -4} convert "$FICHIER" -resize "112" "$FICNOM-112$FICEXT" convert "$FICHIER" -resize "56" "$FICNOM-56$FICEXT" convert "$FICHIER" -resize "28" "$FICNOM-28$FICEXT"
Une fois le script rendu exécutable :
Code BASH :
chmod +x "~/.local/share/nautilus/scripts/Convertir 112 56 28"
J'exécute le script rapidement :
Mes images sont générées instantanément :
Variables utilisables
Plusieurs variables sont utilisables dans les scripts.
Voici un script qui peut aider à voir les variables retournées :
Code BASH :
vim "~/.local/share/nautilus/scripts/Demo variables"
Contenu :
Code BASH :
#! /bin/bash zenity --info --title "Liste des variables" --text="Chemin '\$PWD' : $PWD \n\nArguments '\$\*' : $* \n\nFichier 1 '\$1' : $1 \n\nNAUTILUS_SCRIPT_SELECTED_FILE_PATHS : $NAUTILUS_SCRIPT_SELECTED_FILE_PATHS \n\n NAUTILUS_SCRIPT_SELECTED_URIS : $NAUTILUS_SCRIPT_SELECTED_URIS \n\n NAUTILUS_SCRIPT_CURRENT_URI : $NAUTILUS_SCRIPT_CURRENT_URI"
Si je sélectionne dans mon dossier personnel les fichiers 1.txt, 2.txt et 3 espace.txt, voici le retour proposé dans la pop-up :
Code TEXT :
Chemin '$PWD' : /home/adrien Arguments '$*' : 1.txt 2.txt 3 espace.txt Fichier 1 '$1' : 1.txt NAUTILUS_SCRIPT_SELECTED_FILE_PATHS : /home/adrien/1.txt /home/adrien/2.txt /home/adrien/3 espace.txt NAUTILUS_SCRIPT_SELECTED_URIS : file:///home/adrien/1.txt file:///home/adrien/2.txt file:///home/adrien/3%20espace.txt NAUTILUS_SCRIPT_CURRENT_URI : file:///home/adrien