Mac でスクリプトからの通知が表示されない場合の確認事項

macOS は Mavericks から AppleScript を使ってコマンドラインから簡単に通知を表示させることが出来るようになりました。

# メッセージのみを通知する例
echo 'display notification "通知メッセージ"' | osascript

# メッセージとタイトルを通知する例
echo 'display notification "メッセージ" with title "タイトル"' | osascript

ターミナルからこのコマンドを打つだけで通知センターに通知が表示されます。
設定によっては通知パネルやバナーを表示させることもできます。

しかし、設定によっては上記で通知が表示されない場合があります。
表示されない場合は以下のあたりを疑ってみるといいかもしれません。

その1: スクリプトエディタからの通知を許可しない設定になっている

地味に気をつける必要がある点として osascript コマンドから送信する通知はスクリプトエディタからの通知という扱いになります。
そのためスクリプトエディタの通知を許可しない設定になっていると通知は表示されません。

macOS 通知設定

その2: おやすみモードが ON になっている

夜だけ通知されないといった場合は多分これ。
通知センターのおやすみモードが ON になっていると通知は表示されません。

macOS 通知センター

参考

iTerm2 の設定を Dropbox で共有する

Dropbox に置いた設定ファイルにシンボリックを張る方法がいくつかのサイトで紹介されているが、自分の環境 (OS X El Capitan 10.11) では設定の再読込も行わないと上手くいかなかった。

一旦 iTerm2 を終了し Terminal などで以下コマンドを実行で共有できた。

# Dropbox に既存の設定を移動
mkdir -p ~/Dropbox/application/iTerm2
cp -rp ~/Library/Preferences/com.googlecode.iterm2.plist ~/Dropbox/application/iTerm2/com.googlecode.iterm2.plist

# 既存の iTerm2 の設定を削除
rm ~/Library/Preferences/com.googlecode.iterm2.plist

# Dropbox にコピーした設定に対しシンボリックリンクを張る
ln -s ~/Dropbox/application/iTerm2/com.googlecode.iterm2.plist ~/Library/Preferences/com.googlecode.iterm2.plist

# 設定を再読込する (cfprefsd を再起動)
killall cfprefsd

設定の再読込は defaults read com.googlecode.iterm2 でも出来ると思う。
iTerm2 を起動し何かしら設定を変更した際に Dropbox 上の設定ファイルのタイムスタンプが更新されていれば成功。

参考