私はこれを検索しようとしましたが、同様の問題を抱えている他の人を見ましたが、どこにも答えが見つからなかったようです..。
Macをリモート制御できるようにssh上で実行しようとしているAppleScriptがあります。これは以前はOSX10.8で機能していましたが、10.9にアップグレードしてからは機能しなくなったようです。
私が実行しているコマンドは次のとおりです。
ssh <user>@mymac.local "osascript -e 'tell application \"iTunes\" to play'"
スクリプトは失敗し、次のように戻ります。
execution error: iTunes got an error: Application isn’t running. (-600)
同様に、以前使用していた他の多くのスクリプトも10.9で同じエラーで壊れているようです。したがって、これは、iTunesや特定の問題ではなく、ssh上で実行されているという事実に関連しているようです。応用。
AppleScriptをアプリケーションとしてパッケージ化し、リモートMacに保存してから、sshセッション内から開いてみましたが、これも失敗します。
ssh <user>@mymac.local
open "~/Desktop/Play Music.app"
(「PlayMusic.app」)はアプリとしてエクスポートされたapplescriptです)。
これはsshセッション内のエラーを報告しませんが、リモートMacにapplescriptダイアログが表示されます。
Macでcrontabを使用してスケジュールされたスクリプトもいくつかありますが、これらもアップグレード後に失敗します。
これはマーベリックスの一部としてのある種のセキュリティ変更だと思いますが、それを再び機能させる方法を見つけることができないようです。誰かがこれに対する解決策を持っていますか?
Application isn’t running(-600)
は オペレーティングシステムエラー です。
オペレーティングシステムエラーは、AppleScriptまたはアプリケーションがMacOSにサービスを要求したときに発生するエラーです。それらはまれであり、多くの場合それらを報告する以外にスクリプトでそれらについてできることは何もありません。
ああ!私はこれが答えになることを望んでいませんが、ほぼすべてを試した後、これは再起動後に機能しているようです....私の推測では、appleeventsdの何かが混乱しました(appleeventsdだけを単独で再起動しても混乱しませんでした) t何かを修正します)。再起動後、osascriptは再び動作しているようです。これが完全に修正されているとはまだ確信していませんが、今のところ機能しているようです...
私にとっては、Apple Xcodeの資格)でした。
具体的には、
com.Apple.security.temporary-exception.Apple-events
配列として設定します
次に、それに2つのアイテムを追加します。
com.Apple.Finder
com.Apple.iTunes
AppleScriptは問題ではありません。
[システム環境設定]> [セキュリティとプライバシー]> [プライバシー]> [ユーザー補助]を開き、アクセスを許可するアプリケーションを確認して、支援デバイスとアプリケーションへのアクセスを有効にします。
詳細: https://support.Apple.com/en-us/HT202866
Jacob Salmelaは、コマンドラインからこれを行うためのユーティリティも作成しました。
http://jacobsalmela.com/os-x-yosemite-enable-access-assistive-devices-command-line/
私にとってこれは、gitk
を開こうとしたときに起こりました。以前にいたブランチに戻ると、gitk
を再び開くことができました
コマンドラインから新しいバージョンのMacOSXで「システムイベント用」というメッセージが機能しないことに混乱しました。
osascript -e 'tell application "System Events" to display dialog "Build finished"'
Applescriptの構文は(に変更されましたか?)次のようになります。
osascript -e 'display dialog "Build finished"'
システムイベントは、OS Xの非常に厄介なasshatコンポーネントです。これは、恐ろしい「アプリケーションが実行されていません-600」エラーを回避するための私の方法です。
set app_name to "System Events"
set the_pid to (do Shell script "ps ax | grep " & (quoted form of app_name) & "$
if the_pid is not "" then do Shell script ("kill -9 " & the_pid)
tell application "System Events"
-- activate
end tell
「システムイベント」をkill-9で強制終了してから、再起動します。
2k19からこんにちは:)以下のアプローチは私に役立ちました
tell app "app_name"
launch
delay 2
end tell
tell app "app_name"
do something usefull
end tell
または
osascript -e "tell app \"app_name\"" -e "launch" -e "delay 2"-e "end tell" -e "tell app \"app_name\"" -e "do someting usefull" - e "end tell"
@benmarblesコードは、2行目の終わりに何かが欠けているようです-コンパイルすらしません。
とにかく、私は「画像イベント」で同じ問題を見ました、そして私はそのスクリプトの単純化されたバージョンでそれを解決しました。これが私がそれを処理する方法です:
tell application "System Events" to set thePID to (unix id of process "Image Events")
set killCMD to ("kill -9 " & thePID) as text
do Shell script killCMD with administrator privileges
Image Events
をSystem Events
に置き換えて、代わりにそのプロセスを強制終了します。システムイベントプロセスはそれ自体を存続させるため、再起動するために何もする必要はありません。
GUIスクリプトを実行できなかったときに同じエラーが発生しましたが、その特定のアプリの[システム環境設定]> [セキュリティとプライバシー]> [プライバシー]> [ユーザー補助]設定を変更し、各行の間にdelay 0.5
を追加すると修正されました。