はじめに
前回の記事(「複数ディスプレイの設定がスリープ後に崩れるのを一瞬で元に戻す【Mac】」で作成したシェルスクリプトを、Macがスリープから起きたときに毎回自動で実行されるようにしたいと思い立った。
「sleepwatcher」のインストールと各種設定
「sleepwatcher」を使えばいいそうなのでさっそくインストール。下記のページを参考にさせていただいた。
- Karuku Mac: Macがスリープした後のSynergyの挙動を直す
- macOSのスリープ時にEC2を落とそう - サーバーワークスエンジニアブログ
- つわものぶろぐ: "SleepWatcher"の導入にちょいと苦戦(その1)
- Sleepwatcher 〜Macのスリープと復帰時にアクション実行を可能に (1)セットアップ編 | Life is run!!
- Mac のスリープ/復帰時にスクリプトを実行する - Qiita
うまく動作しない
設定が完了したはずが、何度試しても正常に動作せず。拡張属性を消すなどの方法を色々と試すなどして長時間苦労したが、最終的には「システム環境設定」の「セキュリティとプライバシー」で「sleepwatcher」への許可を与え忘れている項目があったのに気づき、無事に解決した。参考にさせていただページは下記の通り。
私的メモ
以下は私の設定例等の私的メモ。
- sleepwatcher.plistの設置場所は「~/Library/LaunchAgents/sleepwatcher.plist」。
- 私は「/usr/local/sbin/sleepwatcher」にインストールしたので「sleepwatcher.plist」も書き換えた(「/opt/local/sbin/sleepwatcher」の部分)。
- ログが「/Users/tamao/logs/sleepwatcher/」に出力されるように設定してあるが、動作に問題がないことが確認できたら不要なので消す。(で「sleepwatcher.plist」の「StandardOutPath」の行から4行)。
launchctl への登録と解除。
launchctl unload ~/Library/LaunchAgents/sleepwatcher.plist
launchctl load ~/Library/LaunchAgents/sleepwatcher.plist
launchctl登録されているかを確認。
launchctl list | grep sleep
0 件のコメント:
コメントを投稿