僕が使っているのはM1Proの14インチMacBook Proなのだけど、普段はなんやかんやと色々繋がっている。だいたい以下のようなものが常時接続されている感じだ。
- ポータブルSSD 2TB(YouTube動画編集用)
- 256GB USBメモリ(Musicアプリの音楽ライブラリ保存用)
- オーディオインターフェース YAMAHA AG03
これらの他にTime Machine用のHDDやら、写真と動画の保存用のHDDなんかが必要に応じて接続される。
臨時的に接続されるHDD類は使い終わったらすぐにアンマウントするし、オーディオインターフェースは特にアンマウントの操作は必要ない。しかしポータブルSSDとUSBメモリはアンマウントの操作が必ず必要なので、MacBookを外に持ち出して使おうかというときには持ち運びのために2つの外部ディスクのアンマウントをおこなう必要がある。
しかも、どちらも大切なデータが入っているので、念の為にポータブルSSDを使っているFinal Cut ProとUSBメモリを使っているミュージックアプリを終了し、それを確認してからアンマウントという手順を踏む。
どうもこれが毎回煩わしい。ということで自動化だ。
まずはAppleScriptを使って起動中のバックグラウンドでないアプリの一覧を取得し、その中にFinal Cut ProとMusicが入っていればそれらを終了させる。
tell application "System Events" to get name of (processes where background only is false)
そして、
後半ではシェルスクリプトを使ってマックブックに接続されている機器の一覧を取得する。
system_profiler SPUSBDataType
そうしたらあとは前半と同じで、含まれている文字列を検索して、それに応じた外部ディスクをアンマウントする。
ちなみに僕の場合はこのあとYouTube動画の撮影用にスクリーンショットアプリを起動する操作が続くので、最後のところでオーディオインターフェースの接続を確認し、接続していなければ接続を促すようになっている。
Macを持ち出すときにはこの督促のメッセージは無視すればいいので、僕が使う分には問題なしだ。
コメント