wp.bmemo.pw

自分のための覚書・備忘録

Mac でスリープ時にSDカードを自動アンマウントさせる

      2017/05/18

Share on FacebookShare on Google+Tweet about this on TwitterShare on LinkedInShare on TumblrPin on Pinterest

Macのストレージ問題を解決する方法にSDカードやUSBメモリを利用する事が多いですよね。最近だとMacの筐体から飛び出さないような特殊形状のSDカードもあります。しかし問題点が。SDカードを挿したままMacの蓋を閉じると完全なスリープに移行せず、スリープ状態にも関わらずバッテリーがモリモリ減っていくことがあります。

対策としてTranscendのJetDrive Lite では、JetDrive Toolboxを導入することでスリープ時にSDカードを自動アンマウントするようなパワーセーブ機能があります。通常のSDカードやMicroSDカード使用者は、Jettisonという600円ほどのシェアウェアを使うことで対策ができます。

いやしかし、自力でなんとかならないものか、、、と思って調べたらフリーソフトウェアとシェルスクリプトで上記機能を実現できたので書き残しておきます。

用意するもの

以上です。SleepWatcherはMacのスリープ時と復帰時にトリガーして指定のスクリプトを実行することができるソフトウェアです。ソースも付いてくるみたいです。


インストール

ダウンロードしたファイルを解凍すると以下のファイルが出てくるかと思います。

ターミナルを起動して解凍したフォルダに移動しましょう。


ターミナル上で

とします。/etc/以下に rc.sleep と rc.wakeup があり、これがsleepwatcherのトリガー時に実行されるスクリプトとなります。

rc.sleepとrc.wakeupの最後の行にそれぞれ・・・

rc.sleepのvolumeには、いまマウント中のSDカードの名称を入れてください。

保存したら、再起動してください。

起動後、しばらくしたらMacの蓋を閉じて、しばらくしたらまた開いてください。/opt/sdsleep/sleep.log にマウントとアンマウントのログが出ていれば成功です。


注意点

  • DropBoxなどのクラウドストレージをSDで同期している場合、DropBox等のエージェントアプリによってSDカードが常にビジー状態になるので自動アンマウントできないことがあります。
  • HDD等の回転体ストレージの場合、スピンアップ時間を考慮して自動マウント時にsleepコマンドで少し時間を開けてからマウントすると良いでしょう。
  • macOS Sierraで確認しています。他のバージョンではわかりません。
  • 普通にSDカード挿すとはみ出るので、Mac Book Pro/Air用MicroSDアダプタを使用するのがおすすめです。
  • 基本的にはSleepWatcherに同梱されているReadMe.rtfを読もう

もう電源に悩まされない。出先に持っていって50%とかだったら絶望するタイプなのでとても精神的に楽になりました。

私はMicroSDをこれに挿して使ってます。

JetDrive LiteってMacの世代によってサイズが異なるんですね。間違って買わないように・・・

 - Mac , , , ,