#1 Le 04/07/2017, à 14:43
- Compte supprimé
[Résolu] zenity ou autre chose ?
Bonjour,
Au début d'un script, je voudrais pouvoir demander, à un éventuel utilisateur, s'il est d'accord pour que le script continue. Ce script se lance à une heure où, en principe, une session est ouverte mais personne ne travaille sur la machine.
Avec ce que je sais faire, si j'utilise zenity pour demander si le script peut continuer, il faut que quelqu'un réponde à la question ou valide l'avertissement pour que le script se poursuive ou s'arrête. Ce qui ne va pas, car s'il n'y a personne, il faut que le script continue.
Il doit bien exister une solution pour poser la question et continuer si le script ne reçoit pas de réponse. Pour le moment je fais avec un notify-send qui donne le PID du script pour l'annuler avec un kill dans un terminal si on ne veut pas de lui.
Pouvez-vous me mettre sur une meilleure piste svp ?
Voilà ce qui ne fonctionne pas comme je le souhaite, il faudrait pouvoir continuer en l'absence de réponse au bout de quelques secondes.
if [ "$(zenity --entry --title="C'est l'heure" --text="Puis-je lancer le script ?" --entry-text="Non")" == "Non" ];
then
exit
fi
echo "Suite du script"
Dernière modification par Compte supprimé (Le 04/07/2017, à 16:35)
#2 Le 04/07/2017, à 15:03
- Toobuntu
Re : [Résolu] zenity ou autre chose ?
Bonjour
Regarde là : https://unix.stackexchange.com/question … ommandline
zenity --question devrait te convenir, le test se fait tout seul.
Dernière modification par Toobuntu (Le 04/07/2017, à 15:04)
#3 Le 04/07/2017, à 15:27
- Compte supprimé
Re : [Résolu] zenity ou autre chose ?
Oui, mais que se passe-t-il si personne ne répond à la question de zenity ? Le script attend une réponse
#4 Le 04/07/2017, à 16:10
- Hizoka
Re : [Résolu] zenity ou autre chose ?
Salut,
il est possible d'utiliser un timer pour la fenetre je crois, du moins c'est ce que je proposais dans mon logiciel d'aide de Zenity : https://doc.ubuntu-fr.org/zenitor_3
EDIT (grillé par pingouinux):
hizoka@hizo-pc:~$ zenity --help-general
....
--timeout=EXPIRATION Définit le délai d'expiration de la boîte de dialogue en secondes
....
Dernière modification par Hizoka (Le 04/07/2017, à 16:19)
KDE Neon 64bits
Tous mes softs (MKVExtractorQt, HizoSelect, HizoProgress, Qtesseract, Keneric, Services menus...) sont sur github
Hors ligne
#5 Le 04/07/2017, à 16:13
- pingouinux
Re : [Résolu] zenity ou autre chose ?
Bonjour,
Pour attendre 10 secondes avant de sortir, tu peux ajouter à zenity l'option --timeout==10. Dans ton cas, il renverra Non.
Hors ligne
#6 Le 04/07/2017, à 16:25
- Compte supprimé
Re : [Résolu] zenity ou autre chose ?
Ah ! très bien. C'est l'option que je n'avais pas vue. Merci beaucoup à vos deux.
Je me perdais en tests avec un sleep mais ça bloquait la réponse.
C'est parfait en choisissant oui comme valeur par défaut. Pour arrêter il suffit de le supprimer ou saisir autre chose.
Oui, je n'oublie pas le résolu, je testais ... des fois que j'aurais encore besoin de vous.
Encore merci.
Dernière modification par Compte supprimé (Le 04/07/2017, à 16:34)
#7 Le 04/07/2017, à 16:30
- Hizoka
Re : [Résolu] zenity ou autre chose ?
si c'est bon, ajoute un [resolu] a ton titre.
KDE Neon 64bits
Tous mes softs (MKVExtractorQt, HizoSelect, HizoProgress, Qtesseract, Keneric, Services menus...) sont sur github
Hors ligne