2013年6月17日月曜日

MacBook Airのフタを閉じたら外付けディスクを自動アンマウント

MacBook Airを取り外して会議に出かけるときや自宅に持って帰る時、ディスプレイのフタを開けたら下の図のようなウォーニングが出ていることがあります。
理由は、MacBook Airのディスプレイを閉じて、その後USBケーブルを抜くのですが、外付けディスクをFinder上で取り出すという操作をしていないためです。
ファイルやディスクが壊れる原因にもなるのですが、急いでいると忘れてしまいます。

持ち運びする時は大概の場合、ディスプレイを閉じるのでスリープ状態になります。ということは、以前Synergyを使う際にインストールしたSleepWatcherが使えそうです。
スリープに入る際に外付けディスクをアンマウントすれば良さそうです。USBを再接続した時は、以前から自動でマウントされていますので、そのままで良さそうです。

現在のMacBook Airの設定では、~/.sleepというshスクリプトファイルにコマンドを書けば良いようにしています。
まず、ディスクがどのような名前でマウントされているか確認します。

$ mount

/dev/disk0s2 on / (hfs, local, journaled)
devfs on /dev (devfs, local, nobrowse)
map -hosts on /net (autofs, nosuid, automounted, nobrowse)
map auto_home on /home (autofs, automounted, nobrowse)
map -fstab on /Network/Servers (autofs, automounted, nobrowse)
/dev/disk1s3 on /Volumes/ExFAT (exfat, local, nodev, nosuid, noowners)
/dev/disk1s2 on /Volumes/Backup (hfs, local, nodev, nosuid, journaled)

1本のディスク(/dev/disk1)をパーティション分けして使っていたので、disuutilのunmountDiskコマンドを使うことにします。umountのmanを見ると、diskutilを使えて書いてありました。

~/.sleepに、以下のコマンドを追加して試したところ、うまくいきました。


/usr/sbin/diskutil unmountDisk /dev/disk1 2>&1 | logger


最後のloggerは、システムログにメッセージを出すためです。

0 件のコメント:

コメントを投稿