2013年8月25日日曜日

Macbookでスリープ時に自動アンマウントする手順

スリープ復帰後にHDDが認識されない場合が発生するようになったので
ツールを使ってスリープ時にアンマウント、復帰後マウントする事にした。

忘れないように設定した手順を明記する。

まず、SleepWatcherのサイトから最新版のバイナリをダウンロードする。
ダウンロードURL:http://www.bernhard-baehr.de/
本日(2013年8月25日)時点で、Verは2.2となっている。

ダウンロードしたファイルは、「sleepwatcher_2.2.tgz」という圧縮ファイルとなっているのでファイルを解凍する。
(一般的なツールで解凍するとファイル名でフォルダが作成され解凍されたファイルが配置される。)

解凍した後はインストール作業となるが、以下の作業は、ターミナルアプリを使って作業を行うが、「diskutil list」コマンドで対象となるHDDを確認する。今回使用するHDDは「disk3」となる。

1.作業フォルダへ移動
 $cd ~/Downloads/sleepwatcher_2.2

2.インストールフォルダ作成
 $sudo mkdir -p /usr/local/sbin /usr/local/share/man/man8

3.アプリをコピー
 $sudo cp sleepwatcher /usr/local/sbin/
 $sudo cp sleepwatcher.8 /usr/local/share/man/man8/

4.マニュアルの起動確認  $man sleepwatcher

5.スリープ時、復帰時に参照するファイルを用意(ユーザ事に設定する為)
 $touch ~/.sleep
 $touch ~/.wakeup
 $chmod +x ~/.sleep 
 $chmod +x ~/.wakeup 

6.スリープ時にアンマウント処理するディスクを記載する
 $vi ~/.sleep

  #!/bin/sh
  /usr/sbin/diskutil unmount disk3

7.復帰時にマウント処理するディスクを記載する
 $vi ~/. wakeup

  #!/bin/sh
  /usr/sbin/diskutil mount disk3

8.「SleepWatcher」を自動起動するようにシステム(LaunchDaemon)に登録する
 $cp config/de.bernhard-baehr.sleepwatcher-20compatibility-localuser.plist ~/Library/LaunchAgents/de.bernhard-baehr.sleepwatcher.plist

 $launchctl load ~/Library/LaunchAgents/de.bernhard-baehr.sleepwatcher.plist

9.登録されたか確認する
 $launchctl list | grep sleepwatcher
  474 - de.bernhard-baehr.sleepwatcher

10.念のためにシステムを再起動後、スリープ/復帰を実施してディスクがマウントされている事を確認する。

以上

0 件のコメント:

コメントを投稿