私はターミナルに不慣れなので、明白なことを自由に述べてください。
SleepWatcher Macがスリープ状態になる直前と直後にスクリプトを実行します。スリープ前に外部ディスクをアンマウントし、スリープ後に再マウントするスクリプトがあります。 (そうすれば、朝仕事に急いでいるときは、ふたを閉めてケーブルをすべて抜くだけで、「イジェクトしなかった、ジャーク!」という苦情はありません。)
スクリプトは正常に実行され、スリープの直前にアンマウントされます。ただし、ウェイク後に再マウントされることはありません。
#!/bin/sh
diskutil mount 8851F3A7-60A7-39A7-9DA8-41BE1499DE6C
このスクリプトはターミナルで手動で実行できます。それならうまくいくでしょう。 SleepWatcherは、マウントするコマンドではなく、スクリプトを実行できます(ダイアログボックスを表示するように取得できます)。
何が足りないのですか?
Update:スクリプトを+ xとしてchmodしました。 diskutilを+ xとして実行できますか?
SleepWatcherがスクリプトを実行しているときに、デバイスが使用できない可能性があります。スクリプトでdiskutil list > /PATH/TO/SOME/FILE
を実行して、スクリプトが実際に実行されたときにdiskutil
が何を表示するかを確認できます。ドライブが実際にマウントできるようになるのを待つ間、スクリプトに遅延(たとえば、スリープ5)を導入する必要がある場合があります。
単一のボリュームではなく、ディスク自体をマウントしてみてください(ディスク上の唯一のボリュームであっても)。
.wakeupスクリプトの代わりに、
diskutil mount 8851F3A7-60A7-39A7-9DA8-41BE1499DE6C
と:
diskutil mountDisk disk1s3
...もちろん、「disk1s3」を独自の外部ディスクの適切なデバイス識別子に置き換えます。 UUIDでボリュームを指定できる人に、その情報の場所を教える必要はないと思います。他のすべての人のために、ここに方法があります:
diskutil list
スクリプトで/usr/sbin/diskutil
を試してください。アプリケーションがスクリプトを実行する方法によっては、これがすべての違いを生む可能性があります。