やりたい起動時にMac OSXでAppleスクリプトを実行します。スクリプトは、ユーザーセッションの存続期間全体にわたって実行されます。
これを行うための最良の解決策は何ですか?
私のスクリプト:
on idle
do Shell script "/usr/local/bin/wol -p 9 0:1d:63:19:b7:32"
delay 120
end idle
どんな助けでも大歓迎です。
スクリプトエディタでスクリプトを保存するときは、アプリケーションバンドルとして保存してから、ログインシステム環境設定のスタートアップ項目に追加します。
バックグラウンドで実行したい場合は、 iBackground Scripts を使用できます。これは、AppleScriptをバックグラウンドで実行するための無料のツールです。
あなたの質問はAppleスクリプトの実行に関するものですが、スクリプトが実行しているのが2分ごとに/usr/local/bin/wol
を実行している場合、より簡単な解決策は起動デーモンを使用することです。
ユーザーがログインしていなくても継続的に実行する場合は/Library/LaunchDaemons
で、ユーザーごとに実行する場合は~/Library/LaunchDaemons
で実行します(複数のインスタンスがある場合は複数のインスタンスが実行される可能性があることに注意してください)ユーザーがログインしました)。
少なくとも、ポップアップウィンドウが邪魔になることを心配する必要はありません。
AppleScriptの方法の代わりに、私は通常、このような処理にlaunchdを使用します。 launchdはカスタマイズ可能で、非常に強力です。
「実行しますか...」ダイアログを防ぐには:スクリプトをアプリケーションバンドルとして保存しているときに、[名前を付けて保存]ダイアログの[起動画面]チェックボックスをオフにします。