ScriptsPerso/NautilusZenity
Intégration de scripts Bash dans Nautilus avec Zenity
Pourquoi intégrer ses scripts dans Nautilus ?
Nautilus, le gestionnaire de fichiers de GNOME, permet d'ajouter ses propres scripts au menu contextuel (clic droit).
En combinant cette fonctionnalité avec Zenity, on peut créer des interactions graphiques simples, comme afficher une info-bulle, demander une saisie utilisateur ou générer un menu interactif.
C'est une solution pratique pour déclencher des automatisations sans avoir à ouvrir un terminal.
Mettre en place un script contextuel
- Créer le dossier si besoin :
mkdir -p ~/.local/share/nautilus/scripts
2. Écrire ton script, par exemple `info.sh` :
#!/bin/bash
zenity --info --title="Info" --text="Vous avez cliqué sur : $NAUTILUS_SCRIPT_SELECTED_FILE_PATHS"
3. Le rendre exécutable :
chmod +x ~/.local/share/nautilus/scripts/info.sh
4. Redémarrer Nautilus :
nautilus -q
Après ça, tu verras un nouveau menu Scripts dans le clic droit sur un fichier ou un dossier.
Variables disponibles dans un script Nautilus
Tu peux utiliser ces variables fournies automatiquement :
| Variable | Description | |
|---|---|---|
| `$NAUTILUS_SCRIPT_SELECTED_FILE_PATHS` | Chemins complets des fichiers sélectionnés | |
| `$NAUTILUS_SCRIPT_SELECTED_URIS` | Liste des URIs sélectionnés | |
| `$NAUTILUS_SCRIPT_CURRENT_URI` | URI du dossier actuel |
Exemples utiles
📁 Renommer un fichier sélectionné
Demande à l’utilisateur un nouveau nom :
fichier=$(basename "$1")
nouveau_nom=$(zenity --entry --title="Renommer" --text="Nouveau nom :" --entry-text="$fichier")
[ -n "$nouveau_nom" ] && mv "$1" "$(dirname "$1")/$nouveau_nom"
🗜️ Compresser un fichier ou un dossier
Crée une archive `.tar.gz` à partir des éléments sélectionnés :
for fichier in "$@"; do
nom=$(basename "$fichier")
tar -czf "$nom.tar.gz" "$fichier"
done
zenity --info --text="Compression terminée"
🧠 Menu interactif personnalisé
Propose à l'utilisateur une action à choisir :
case $choix in
"Compresser") ... ;;
"Renommer") ... ;;
esac
Bonnes pratiques
- Teste toujours tes scripts avant de les rendre publics
- Prévois des messages d’erreur clairs via Zenity (`zenity
error`) - Utilise les noms de fichiers entre guillemets (`"$fichier"`) pour gérer les espaces
Pour aller plus loin
- Manuel Zenity https:manpages.debian.org/zenity)
- Scripts Nautilus sur GNOME Help https:help.gnome.org/users/nautilus/stable/scripts.html)
- Créer des interfaces Bash GUI https:wiki.archlinux.org/title/Zenity)