[AppleScript] Fenêtre Terminal se ferme trop tôt
Résolu
Giac
Messages postés
1263
Date d'inscription
Statut
Membre
Dernière intervention
-
Giac Messages postés 1263 Date d'inscription Statut Membre Dernière intervention -
Giac Messages postés 1263 Date d'inscription Statut Membre Dernière intervention -
Bonjour,
J'ai créé un fichier .app à l'aide de l'éditeur de scripts, qui ouvre le Terminal pour effectuer la commande suivante :
Le but est de faire monter ce disque interne quand j'en ai besoins (le montage automatique au démarrage étant désactivé dans le fichier "fstab") sans aller dans l'utilitaire de disque, par pure flemme d'ouvrir l'app, sélectionner le disque puis appuyer sur le bouton de montage.
Voici donc le script :
Quand je compile le Script et que je le lance depuis l'éditeur, tout marche très bien, mais quand je lance le fichier .app, le temps de pause ne se fait pas et le Terminal me dit que de fermer l'app arrêtera la commande "diskutil" en cours. Ce qui fait aussi que je dois quitter le Terminal manuellement.
Avez-vous une solution concernant ce problème (assez mineur mais qui est relativement ch**nt à l'utilisation)?
Merci d'avance pour votre aide.
PS : le même problème survient quand je coupe le "tell application" en deux (un pour ouvrir et effectuer la commande et l'autre pour fermer l'app) et que j'intercale la pause entre les deux.
May Google be with you!!
J'ai créé un fichier .app à l'aide de l'éditeur de scripts, qui ouvre le Terminal pour effectuer la commande suivante :
diskutil mount UUIDduDisque
Le but est de faire monter ce disque interne quand j'en ai besoins (le montage automatique au démarrage étant désactivé dans le fichier "fstab") sans aller dans l'utilitaire de disque, par pure flemme d'ouvrir l'app, sélectionner le disque puis appuyer sur le bouton de montage.
Voici donc le script :
tell application "Terminal"
activate #Lancer l'app
do script "diskutil mount 0E65F962-9EE7-44FD-B692-C8ACBE4735A0" #Effectuer la commande
delay 10 #pour laisser le temps d'effectuer la commande
quit #quitter l'app
end tell
Quand je compile le Script et que je le lance depuis l'éditeur, tout marche très bien, mais quand je lance le fichier .app, le temps de pause ne se fait pas et le Terminal me dit que de fermer l'app arrêtera la commande "diskutil" en cours. Ce qui fait aussi que je dois quitter le Terminal manuellement.
Avez-vous une solution concernant ce problème (assez mineur mais qui est relativement ch**nt à l'utilisation)?
Merci d'avance pour votre aide.
PS : le même problème survient quand je coupe le "tell application" en deux (un pour ouvrir et effectuer la commande et l'autre pour fermer l'app) et que j'intercale la pause entre les deux.
May Google be with you!!
A voir également:
- [AppleScript] Fenêtre Terminal se ferme trop tôt
- Commande terminal mac - Guide
- Application se ferme toute seule android - Guide
- Rouvrir onglet fermé chrome - Guide
- Fenetre windows - Guide
- Votre colis ne peut être livré ce jour. il sera mis en livraison au plus tôt. - Forum Vos droits sur internet
2 réponses
Bonjour,
Ça fonctionne parfaitement dans mon cas. (test fait sur un disque externe)
Il faut attendre que le délai soit passé, 10 secondes, ça peut sembler long...
Ça fonctionne parfaitement dans mon cas. (test fait sur un disque externe)
Il faut attendre que le délai soit passé, 10 secondes, ça peut sembler long...
J'ai fait plusieurs essais différents sous Yosemite,
J'ai trouvé une truc qui fonctionne, bizarre, mais en attendant une correction du bug, ça fonctionne
J'ai écrit 2 scripts, et exporté les 2 en applications.
Le premier script-application exécute le montage du disque et lance le deuxième script-application..
J'ai nommé le deuxième script-application "Quit Terminal"
Ça donne donc ça pour la première application-script
tell application "Terminal"
activate #Lancer l'app
do script "diskutil mount 3DF39B09-BE89-346B-A93D-178D80A3D611" #Effectuer la commande
delay 10
end tell
tell application "Quit terminal"
delay 10
activate
end tell
et dans la deuxième Application-script, il y a ça
tell application "Terminal"
quit
end tell
Soit, la première application

qui appelle la deuxième application:

j'ai tester à plusieurs reprises sur un disque externe, (ça doit être pareil pour le disque interne), ça fonctionne chez moi comme ça...
EDIT: je viens de tester sur le disque interne, ça fonctionne...
Bonne journée, ou Bonne Nuit..:).
Francis
J'ai trouvé une truc qui fonctionne, bizarre, mais en attendant une correction du bug, ça fonctionne
J'ai écrit 2 scripts, et exporté les 2 en applications.
Le premier script-application exécute le montage du disque et lance le deuxième script-application..
J'ai nommé le deuxième script-application "Quit Terminal"
Ça donne donc ça pour la première application-script
tell application "Terminal"
activate #Lancer l'app
do script "diskutil mount 3DF39B09-BE89-346B-A93D-178D80A3D611" #Effectuer la commande
delay 10
end tell
tell application "Quit terminal"
delay 10
activate
end tell
et dans la deuxième Application-script, il y a ça
tell application "Terminal"
quit
end tell
Soit, la première application

qui appelle la deuxième application:

j'ai tester à plusieurs reprises sur un disque externe, (ça doit être pareil pour le disque interne), ça fonctionne chez moi comme ça...
EDIT: je viens de tester sur le disque interne, ça fonctionne...
Bonne journée, ou Bonne Nuit..:).
Francis
Dans l'éditeur de script également il y a un bug. j'ai voulu enregistre mes gestes, lancement du Terminal, saisie de la commande etc... mais Editeur de scripts n'enregistre rien. L'application n'est donc pas au point. Je vais le signaler à Apple puisque ça fait partie des bugs.
Il n'y a plus qu'à attendre une mise à jour qui va peut-être résoudre ce problème