Page d'accueil » comment » Comment créer des scripts de shell graphiques simples avec Zenity sous Linux

    Comment créer des scripts de shell graphiques simples avec Zenity sous Linux

    Zenity ajoute des interfaces graphiques aux scripts de shell avec une seule commande. Les scripts shell sont un excellent moyen d’automatiser les tâches répétitives, mais ils sont généralement limités au terminal - Zenity les fait sortir du terminal et sur votre bureau..

    Nous avons déjà présenté les scripts shell. Vous n'avez pas besoin d'être un programmeur pour vous familiariser avec les scripts shell: ils nécessitent peu plus que la connaissance des commandes de terminal Linux.

    Obtenir de la zenity

    Zenity est livré avec Ubuntu par défaut. Si vous utilisez un dérivé d'Ubuntu, tel que Kubuntu, vous devrez peut-être l'installer manuellement à l'aide de la commande suivante:

    sudo apt-get install zenity

    Zenity fait partie de GNOME, il devrait donc déjà être inclus sur les distributions Linux qui utilisent le bureau GNOME. Vérifiez votre gestionnaire de paquets pour le zenity forfait si vous ne l'avez pas.

    Utiliser Zenity

    Vous pouvez jouer avec Zenity depuis le terminal. Supposons que vous souhaitiez créer une fenêtre d'erreur lorsqu'un problème survient avec votre script shell. Voici un exemple de commande que vous pourriez utiliser:

    zenity -error -title = "Une erreur est survenue" -text = "Un problème est survenu lors de l'exécution du script shell."

    Exécutez la commande et vous verrez une fenêtre avec le message.

    Placez cette commande unique dans votre script shell au bon endroit et vous obtiendrez un message d'erreur graphique. Vous pouvez également utiliser des variables pour inclure plus d'informations sur l'erreur.

    Disons que vous voulez poser une question oui ou non. Vous pouvez utiliser une commande comme celle-ci:

    zenity -question -title = ”Requête” -text = “Voulez-vous exécuter le script?”

    Vous pouvez intercepter les réponses oui ou non dans votre script shell et exécuter différentes commandes en fonction du bouton sur lequel l'utilisateur clique..

    Il y a aussi une boîte de dialogue de saisie de texte:

    zenity -entry -title = "Site Web préféré" -text = "Quel est votre site Web préféré?"

    Saisir la saisie de l'utilisateur dans un script shell et la stocker sous forme de variable.

    Il y a aussi un sélecteur de fichiers, un calendrier et d'autres types de dialogues. Pour une liste complète des types de dialogue et de leurs options, consultez la page de manuel de Zenity..

    Un exemple de script

    Essayons d'utiliser Zenity pour créer un script shell simple. Avec seulement trois commandes, nous pouvons créer un programme de minuterie graphique:

    #! / bin / bash
    # Ce script demande à l'utilisateur une heure, attend le montant spécifié
    Nombre de fois et affiche une boîte de dialogue d'alerte.

    TIME = $ (zenity -entry -title = "Minuterie" -text = "Entrez une durée pour la minuterie. \ N \ n Utilisez 5 s pendant 5 secondes, 10 m pendant 10 minutes ou 2h pendant 2 heures.")

    dormir $ TIME

    zenity -info -title = ”Minuterie terminée” -text = ”La minuterie est terminée. \ n \ n C’est $ TIME.”

    Nous utilisons des astuces supplémentaires ici. Nous obtenons la valeur de la variable TIME de la première commande zenity et l'envoyons à la commande sleep. Nous utilisons aussi / n créer de nouvelles lignes de texte dans les dialogues zenity.

    Après avoir enregistré le script shell et exécuté le chmod + x commande pour lui donner des permissions exécutables, on peut le lancer.

    Entrez une durée et le script utilisera la norme dormir commande pour décompter en arrière-plan. Lorsque le compte à rebours de la commande de veille se termine, le script affiche le message d’information zenity..

    Vous pouvez créer un raccourci sur le bureau ou sur un panneau pour ce script et l'exécuter sans même toucher le terminal..


    Cela ne fait que gratter la surface de ce que vous pourriez faire avec zenity; vous pourriez l'utiliser pour créer des programmes beaucoup plus compliqués. Si vous recherchez plus d'informations sur les scripts shell, consultez notre guide d'utilisation des boucles for dans les scripts shell.