0 votes

Comment faire en sorte qu'Applescript quitte un programme spécifique pour tous les utilisateurs ?

Ma femme et moi sommes installés sur un seul ordinateur portable et nos bibliothèques iTunes sont stockées sur un disque dur externe. J'écris un applescript pour éjecter automatiquement ce disque lorsque nous voulons emmener l'ordinateur portable ailleurs (nous utilisons normalement des iPads dans la maison), mais j'ai du mal à faire en sorte que le script soit configuré pour quitter également iTunes pour nos deux comptes lorsqu'il est exécuté.

Voici le script de base actuellement, auquel il manque évidemment la magie pour quitter iTunes pour tous les utilisateurs connectés :

tell the application "iTunes" to quit

tell the application "Finder"
    if disk Media exists then
        eject disk Media
    end if
end tell

Des suggestions ?

1voto

Mykroft Points 4292

Utilisez le do shell script dans AppleScript :

do shell script "sudo killall iTunes"

tell the application "Finder"
    if disk Media exists then
        eject disk Media
    end if
end tell

Vous devrez vous assurer que vous pouvez exécuter sudo killall sans mot de passe.

0voto

nohillside Points 82672

Le problème est que votre Applescript s'exécute dans le contexte de l'utilisateur actuel et ne peut pas accéder à l'iTunes exécuté dans d'autres comptes. Une façon de fermer/terminer tous les processus iTunes en cours serait (dans Terminal)

sudo killall -sm iTunes

mais cela peut laisser les métadonnées d'iTunes dans un état incohérent (ce qui signifie un temps de démarrage plus long la prochaine fois que vous démarrez iTunes et une perte potentielle de données).

LesApples.com

LesApples est une communauté de Apple où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres utilisateurs d'appareils Apple, poser vos propres questions ou résoudre celles des autres.

Powered by:

X