Applescript échoue avec l'erreur (-600) lorsqu'il est lancé plus de ssh sur Mavericks
J'ai essayé de chercher pour cela, et qui en ont vu d'autres avec des problèmes similaires, mais ne semblent pas avoir trouvé une réponse, n'importe où....
J'ai un script que je suis en train de lancer sur ssh afin que je puisse les contrôler à distance mon mac. Ce qui a travaillé précédemment avec OSX 10.8, mais ne semble plus fonctionner depuis la mise à jour 10.9.
La commande je suis en cours d'exécution est:
ssh <user>@mymac.local "osascript -e 'tell application \"iTunes\" to play'"
- J'ai déjà mis en place des clés RSA de sorte que la session ssh s'ouvre correctement
- Je suis connecté en tant qu'utilisateur même que le Mac est connecté et en cours d'exécution en vertu de l'
- iTunes est en cours d'exécution sur le Mac avec cet utilisateur à la fois que le script est lancé
Le script ne parvient pas à revenir avec:
execution error: iTunes got an error: Application isn’t running. (-600)
De même, un certain nombre d'autres scripts que j'avais déjà été en utilisant aussi semblent maintenant être cassé sur 10.9 avec la même erreur, donc cela semble être lié au fait que c'est de la course via ssh, plutôt que d'un problème avec iTunes ou une application spécifique.
J'ai essayé de l'emballage les applescripts comme les applications, les sauvegarder sur le Mac distant, et ensuite les ouvrir depuis l'intérieur d'une session ssh, mais cela échoue aussi:
ssh <user>@mymac.local
open "~/Desktop/Play Music.app"
(Où " Jouer De La Musique.app') est un applescript exporté comme une application).
Ce ne signale pas une erreur au sein de la session ssh, mais un applescript boîte de dialogue s'affiche sur le mac distant:
J'ai aussi plusieurs scripts qui ont été planifiées avec crontab sur mon Mac, et ce sont aussi, à défaut depuis la mise à niveau.
Je suppose que c'est une sorte de modification de la sécurité dans le cadre de Mavericks, mais je n'arrive pas à trouver un moyen de le faire fonctionner à nouveau. Quelqu'un aurait-il des solutions à ce?
- Hé oui, Comme je l'ai dit dans le post, iTunes est ouvert à l'époque. Je suppose que cela a quelque chose à voir avec le shell ssh ne pas être en mesure de voir le processus, même si elle est en cours d'exécution avec le même compte utilisateur...
- êtes-vous en mesure d'obtenir une simple boîte de dialogue apparaissent ?
- aussi ce qui se passe si vous exécutez le script de la même commande dans le terminal local sur la machine
- Je peux afficher un message d'alerte sur ssh. Donc cela fonctionne: osascript -e "tell application \"les Événements du Système\" pour afficher l'alerte \"Bonjour\"" L'alerte s'affiche sur l'écran distant
- Si je lance le script à partir du terminal en local sur la machine, il fonctionne aussi très bien. Il semble être en cours d'exécution à travers une session ssh c'est ça le problème
- sont à la fois des machines sur le sam réseau ? J'ai testé et fonctionne pour moi. Itunes est à jour ?
- Hé oui, les deux machines sont sur le même réseau. Vous êtes sous Mavericks? Le problème n'est pas exclusif à iTunes - ci-dessous, également échoue lorsqu'il est exécuté sur ssh: osascript -e 'tell application "EyeTV" pour activer " est de retour: "erreur d'exécution: EyeTV ai une erreur: l'Application n'est pas en cours d'exécution. (-600)"
- laissez-nous continuer cette discussion dans le chat
Vous devez vous connecter pour publier un commentaire.
Application isn’t running(-600)
est un erreur du système d'exploitation.Arrrrgh! Je ne veux pas que ce soit la réponse, mais après avoir essayé à peu près tout, cela semble maintenant être au travail après un redémarrage.... Ma conjecture est que quelque chose dans appleeventsd ai pas compris (même si en redémarrant simplement appleeventsd sur sa propre n'a pas de résoudre quoi que ce soit). Après un redémarrage osascript semble être de se comporter à nouveau. Je ne suis toujours pas convaincu que c'est totalement fixe, mais il ne semble pas fonctionner pour le moment...
Pour moi, c'était Apple Droits dans Xcode.
Plus précisément,
com.apple.de sécurité.temporaire-exception à la règle.apple-événements
Le définir comme un Tableau
Puis ajouter deux éléments.
com.apple.finder
com.apple.iTunes
Voir: Mon applescript ne fonctionne plus lorsque je mettre à jour mon OS X 10.9
Apple Script n'est pas la question.
Activer l'accès pour les périphériques d'aide et les demandes d'ouverture Système de Préférences > Sécurité & vie privée > vie privée > l'Accessibilité et vérifier les applications que vous souhaitez autoriser l'accès.
Plus d'infos: https://support.apple.com/en-us/HT202866
Jacob Salmela a également créé un utilitaire pour le faire en ligne de commande:
http://jacobsalmela.com/os-x-yosemite-enable-access-assistive-devices-command-line/
pour moi, cela m'est arrivé lorsque j'ai essayé d'ouvrir
gitk
. Changement à la direction générale, j'ai été sur le devant, etgitk
a pu ouvrir de nouveauSystème d'Événements est vraiment capricieux asshat composant des OS X. Voici ma méthode pour obtenir autour de cette redoutable "l'Application n'est pas en cours d'exécution -600" erreur:
Je tue "les Événements du Système" avec un kill -9 et puis le relancer.
@benmarbles code semble manquer quelque chose à la fin de la ligne 2 -- il ne sera même pas compiler.
De toute façon, j'ai vu le même problème avec les "Événements de l'Image" et je l'ai résolu avec une version simplifiée de ce script. Voici la façon dont je le manipuler:
Remplacer
Image Events
avecSystem Events
de tuer les processus en place. Le Système d'Événements de processus ne cesse de lui-même en vie, donc il n'y a pas besoin de faire quelque chose pour le relancer.J'ai eu le même message d'erreur lorsque j'étais incapable de faire de la GUI de Scripts, mais en changeant le Système de Préférences > Sécurité & vie privée > vie privée > paramètres d'Accessibilité pour l'application et l'ajout d'un
delay 0.5
entre chaque ligne corrigé!J'ai été confondu par ce message "pour les Événements Système" ne fonctionne pas dans les versions récentes de Mac OS X à partir de la ligne de commande:
Il s'avère que la syntaxe d'Applescript est (changé à?) juste:
Bonjour de 2k19 🙂 L'approche ci-dessous a aidé à me
ou