Contenu | Rechercher | Menus

Annonce

Si vous avez des soucis pour rester connecté, déconnectez-vous puis reconnectez-vous depuis ce lien en cochant la case
Me connecter automatiquement lors de mes prochaines visites.

À propos de l'équipe du forum.

#1 Le 13/04/2014, à 19:24

Gloops

[CONTOURNE] MsgBox sous Ubuntu

Bonjour tout le monde,

J'utilise depuis très longtemps l'instruction MsgBox en VBScript, elle permet d'afficher une boîte de message à l'utilisateur, et d'en obtenir un retour par le clic sur un bouton.

Y a-t-il quelque chose de particulier à faire pour pouvoir s'en servir sous Ubuntu ?

J'ai mis un certain temps à être capable d'exécuter mon script depuis le terminal, ça y est mais du coup il me jette au niveau de la syntaxe.

Firefox s'étant avéré tout-à-l'heure un peu long à charger, j'aimerais commencer par afficher un message à l'utilisateur afin d'accuser réception de son clic.

Mon script ressemblait à ça :

If MsgBox("Chargement de Firefox", vbYesNo) = vbYes Then
	firefox
Else
	MsgBox("Abandon demandé par l'utilisateur")
End If

et à l'exécution (obligatoirement depuis le terminal d'ailleurs) on me dit que les parenthèses pour MsgBox ne sont pas reconnues (alors qu'elles le sont sous Windows par exemple, et impératives si on veut une valeur de retour).

J'ai mis une parenthèse juste après if, du coup c'est la virgule qui n'est plus reconnue.

Il semble qu'il y ait quelque chose à adapter ?

Dernière modification par Gloops (Le 14/04/2014, à 09:24)


Ah, oui, Ubuntu ... Ça va me rappeler des souvenirs.

Hors ligne

#2 Le 14/04/2014, à 07:50

serged

Re : [CONTOURNE] MsgBox sous Ubuntu

Y'a pas de vbscript natif sous Linux...

Avec les shell Linux (bash, zsh etc.) on peut utiliser zenity. Par exemple :

if zenity  --question --title "Alert"  --text "Chargement de Firefox"
then
 firefox
else
 zenity --info --title "Tentative avortée" --text "Firefox pas lancé"
fi

LinuxMint Vera Cinnamon et d'autres machines en MATE, XFCE... 20.x , 21.x ou 19.x
Tour : Asus F2A55 / AMD A8-5600K APU 3,6GHz / RAM 16Go / Nvidia GeForce GT610 / LM21.1 Cinnamon
Portable : LDLC Mercure MH : Celeron N3450 /RAM 4Go / Intel HD graphics 500 i915 / biboot Win 10 (sur SSD) - LM21.1 MATE (sur HDD)

Hors ligne

#3 Le 14/04/2014, à 09:23

Gloops

Re : [CONTOURNE] MsgBox sous Ubuntu

Ah OK, merci.

Tant qu'on y est, si jamais Firefox est déjà chargé, mais en erreur, et que c'est à cause de ça qu'on ne réussit pas à l'afficher ?
Comment est-ce que je l'arrête, dans bash ?


Ah, oui, Ubuntu ... Ça va me rappeler des souvenirs.

Hors ligne

#4 Le 14/04/2014, à 13:12

serged

Re : [CONTOURNE] MsgBox sous Ubuntu

Ben,

if pgrep firefox then
 echo Firefox déjà lancé, on le tue...
 killall firefox
# On attend que le kill ait fait son effet...
 sleep 5
fi

LinuxMint Vera Cinnamon et d'autres machines en MATE, XFCE... 20.x , 21.x ou 19.x
Tour : Asus F2A55 / AMD A8-5600K APU 3,6GHz / RAM 16Go / Nvidia GeForce GT610 / LM21.1 Cinnamon
Portable : LDLC Mercure MH : Celeron N3450 /RAM 4Go / Intel HD graphics 500 i915 / biboot Win 10 (sur SSD) - LM21.1 MATE (sur HDD)

Hors ligne

#5 Le 14/04/2014, à 22:39

Gloops

Re : [CONTOURNE] MsgBox sous Ubuntu

J'aime bien le "ben" smile
Pour moi, ben, c'est sous Windows, pour être honnête wink

Toujours est-il que je me suis fait jeter au niveau du "fi", donc je me suis dit qu'il devait y avoir un souci avec le "if". J'ai un peu joué avec pgrep et je n'ai pas réussi à avoir vraiment ce que je voulais, alors du coup j'ai cherché et mon script est devenu ça :

if zenity --question --text="Voulez-vous charger Firefox ?"
then
	if (ps -C firefox) then
		killall firefox
		sleep 5
	fi
	firefox
else
	zenity --info title="Firefox" --text="Abandon demandé par l'utilisateur"
fi

Au niveau du test je me retrouve avec un problème, on dirait que mon script est un processus firefox. En l'état initial c'est un peu normal, car je l'avais appelé firefox.sh, alors je l'ai renommé callff.sh

Il se peut que j'aurai à fignoler l'appel depuis Cairo-Dock, pour le moment je teste depuis le terminal (c'est bien comme ça qu'on appelle la fenêtre de lignes de commandes, n'est-ce pas ?)

Ah oui mais ... Attendez je vais lancer le test, alors c'est supposé fermer mon Firefox, donc je valide le message avant et je reviendrai dessus après.

===

Me voilà reviendu après : ah ben ça s'est bien passé, ça m'a d'autorité fermé Firefox, puis ça l'a relancé, comme Firefox a détecté qu'il a été fermé sur erreur il a rechargé la même page, travail propre.

Après j'ai voulu tester avec Firefox non lancé, donc cette fois-là il a fallu chercher la page dans l'historique, pas exagérer la flemme non plus.

Je prends conscience d'une chose, c'est que le script reste en cours d'exécution jusqu'à ce que Firefox soit fermé. Je vais lancer une recherche au sujet du lancement asynchrone d'une commande depuis un script, et si je ne trouve pas j'ouvrirai un nouveau fil. Pour moi ça serait commode ici, mais pour le prochain qui va chercher ça ...

En tout cas le script commence déjà à avoir fière allure, depuis le terminal ça semble bien donner ce qu'il faut. Merci à Serged.

Dernière modification par Gloops (Le 14/04/2014, à 22:55)


Ah, oui, Ubuntu ... Ça va me rappeler des souvenirs.

Hors ligne