Carpe Diem

備忘録

osascript で通知が表示されない状態を解決する

概要

ターミナル上で osascript が使えなかった場合の対処方法です。

$ osascript -e 'display notification "Debug" with title "osascript"'

としても無反応で、

$ osascript -e 'display notification "Debug" with title "osascript"' 2>&1 ; echo $?
0

のように正常終了で終わる状態です。

環境

  • macOS 15.5

原因

osascript が送る通知は OS から見るとスクリプトエディタ からの通知扱いになるため、ここがブロックされていると何も表示されません。

なのでスクリプトエディタの通知を許可する必要があります。

対応方法

スクリプトエディタを起動し、以下のスクリプトを実行します。

display notification "Hello" with title "Script Editor"

すると右上に通知の許可を取るバナーが生まれます。

これをクリックすると通知の設定画面が出てくるのでONにします。

動作確認に先ほどのスクリプトを再実行すると、ちゃんとメッセージが入ります。

ターミナル上でも通知が表示されるようになります。

参考