Zenity est un outil permettant d’afficher des informations dans une fenêtre graphique, il permet donc d’améliorer l’aspect  des scripts écris en bash sous Linux.
Dans plusieurs de mes scripts je l’utilise et lorsque l’on furrete sur internet, on trouve de nombreux scripts qui l’utilisent également.

4 lignes de commandes dans un simple script nautilus permettent d’afficher le contenu d’un fichier texte.

Ce script a été testé sur un PC fonctionnant avec Ubuntu Lucid Lynx 10.04.
Il doit également fonctionner sur tous les PC normaux utilisant une distribution Linux.

Par défaut, zenity n’est pas installé sur Ubuntu, pour corriger ce manque :

    sudo ap-get install zenity

Pour afficher le contenu d’un fichier dans une fenêtre zenity :

    zenity --title <titre de la fenêtre> --width 800 --height 600 --text-info --filename /chemin/fichier

Cette commande peut être utilisée par un script nautilus, en voici un exemple :

    #!/bin/bash
    # Affiche le contenu d'un fichier dans une fenêtre zenity
    # Auteur : http://www.saintcarre.fr/saintcarre/
    # Licence : http://creativecommons.org/licenses/by-nc-sa/2.0/fr/
    # Version 1.0 du 02/06/10
    #
    #
      while [ $# -gt 0 ]; do
        zenity --title $1 --width 800 --height 600 --text-info --filename $1 &
        shift
      done

Pour utiliser ce code, il faut :

  • créer un fichier dans le dossier $HOME/.gnome2/nautilus-scripts, je l’ai nommé affiche_fichier.sh
  • coller le contenu du script dans le fichier et l’enregistrer
  • rendre le fichier exécutable avec la commande
    chmod 755 affiche_fichier.sh

Vous trouverez ensuite ce script dans le menu script du clic droit du navigateur de fichier nautilus.

La ligne de commande zenity se termine par le caractère &, ce signifie que le script n’attendra pas la fermeture de la fenêtre zenity pour se terminer ; cela signifie également que plusieurs fichiers peuvent être visualisés en même temps.