Sleepwatcher 〜Macのスリープと復帰時にアクション実行を可能に (1)セットアップ編

MacのSleepや復帰時に何かアクションができないかな?と思ったことはありませんか。
私はあります。

私はNASに作成したディスクイメージをマウントしたり、iSCSIを利用したりしてデータを外部に保管しています。
で、外出する時にちゃんとアンマウントと呼ばれる取り出しをしておけばいいのですが、たいてい忘れます。
電源OFFにすればその心配はないのですが、たいていはスリープさせるので。
なので、スリープ時にマウントされたままだったらそれをアンマウントして、復帰した時に使える環境だったらマウントをしてくるようにできればいいなと思っていました。

今回はそんな要望を叶えるツールのご紹介です。
セットアップと実行編に分けてご紹介。

(1)セットアップ編←イマココ
(2)実行編

導入はmacportsからが便利

ソースも提供されているようですが、Google先生で色々と調べてみるとmacports経由で行けるとのことなので、今回はmacportsから導入しました。
ほぼ、そのためにmacportsを導入したようなものですが。

ターミナルを開いて「sudo port install macport」と入力するだけです。
これで導入は完了です。
スクリーンショット 2015-06-27 23.43.46

スリープ時、起動時に実行したいものを準備する

導入しただけでは何もされないので、スリープ時、起動時に実行したいものを準備します。
多分AppleScriptとかも動かせるのでしょうが、私は慣れ親しんでいるシェル・スクリプトを作成しました。

スリープ側時の処理

これは単純でNASのマウントポイントが存在していたら、「diskutil unmount マウントしてるディスク」でアンマウントするだけです。
マウントポイントは「/Volumes」の下にあるので、自分がスリープ時にアンマウントしたいものを見つけておきます。

復帰時の処理

こちらはNASのある自宅のWi-Fiに接続していたら「disk util mount マウントしたいディスク」でマウントします。
自宅以外でも当然立ち上げることがあり、その時に実行してもエラーになるだけなので、このような処理にしました。

それぞれ単独で動かしてみてアンマウント、マウントができればセットアップとしては完了です。
次は実際にSleepwatcherを使う設定を紹介します。