Exécuter AppleScript au démarrage (arrière-plan)

7

Je souhaite exécuter un script Apple sur Mac OS X au démarrage. Le script doit être exécuté pendant toute la durée de la session utilisateur.

Quelle est la meilleure solution pour faire cela?

Mon script:

on idle
    do shell script "/usr/local/bin/wol -p 9 0:1d:63:19:b7:32"
    delay 120
end idle

Toute aide sera très appréciée.

road242
la source

Réponses:

10

Lorsque vous enregistrez le script dans l'éditeur de script, enregistrez-le en tant qu'ensemble d'applications, puis ajoutez-le aux éléments de démarrage dans les préférences système de connexion:

texte alternatif

Si vous souhaitez qu’il s’exécute en arrière-plan, vous pouvez utiliser iBackground Scripts , un outil gratuit permettant de faire fonctionner des scripts en arrière-plan.

texte alternatif

John T
la source
Merci pour votre réponse. J'ai déjà fait ça. Le problème est que le script Apple sera affiché dans le dock pendant toute la session utilisateur. Existe-t-il un moyen de se débarrasser du symbole script Apple dans le Dock?
road242
1
Je viens d'ajouter cette information :)
John T
Merci encore. Fonctionne bien et fonctionne en arrière-plan. Mais on me demande si je veux exécuter le script au démarrage. Est-il possible d'éviter le dialogue de question?
road242
Hmm. Peut-être qu'un autre applescript pour dire «oui» ferait l'affaire?
John T
8

Je sais que votre question concerne l'exécution d'un script Apple, mais si tout le script est exécuté /usr/local/bin/woltoutes les 2 minutes, une solution plus simple pourrait être d'utiliser un démon de lancement?

Soit dans /Library/LaunchDaemonss'il s'agit d'une exécution continue même sans utilisateur connecté, soit dans ~/Library/LaunchDaemonsune exécution par utilisateur (en gardant à l'esprit qu'il peut y avoir plusieurs instances en cours d'exécution si plusieurs utilisateurs sont connectés).

Au moins, vous n'avez pas à vous soucier des fenêtres popup qui vous gênent.

Steve Folly
la source
1

Pour éviter la boîte de dialogue "voulez-vous exécuter ...": Lorsque vous enregistrez votre script en tant que lot d'applications, décochez la case "Ecran de démarrage" dans la boîte de dialogue Enregistrer sous.

JRobert
la source