Mac でログインした時に NAS のボリュームを静かに自動マウントする
macOS Tahoe 時点の情報です。
Mac でログインした時に NAS のボリュームを自動でマウントしたい。
簡単なのは「System Settings (システム設定)」の「Login Items & Extensions (ログイン項目と機能拡張)」に NAS のボリュームを登録すること。 しかし、この方法はマウントされると同時にボリュームの Finder が開いてしまう。毎回閉じる必要があって面倒だ。(以前は「隠す」オプションが存在したのだが、macOS Ventura あたりで廃止されてしまった。)
Gemini に相談したところ AppleScript を使うと Finder を表示せずにマウントできたのでメモしておく。
自動マウントする AppleScript を作成
Mac の「Script Editor」アプリを起動して、以下のスクリプトを入力する。
foo-nas.local は NAS のホスト名 (IP アドレスでもいい)、bar-volume はボリューム名。環境に合わせて変更する。
try
do shell script "ping -c 1 -t 2 foo-nas.local"
set isReachable to true
on error
set isReachable to false
end try
if isReachable then
mount volume "smb://foo-nas.local/bar-volume"
end if
保存するときの名前は何でもいい。ここでは「Mount NAS」とした。 「File Format」は「Application」を選択する。
このスクリプトでやっていること
- NAS に接続できるか
pingでチェックする- 外出時などネットワークに NAS が存在しない場合はマウントしない
- NAS に接続できる場合はボリュームをマウントする
AppleScript をログイン時に実行
「System Settings」の「Login Items & Extensions」を開いて、「Open at Login」に上記で作成した AppleScript を登録する。
これでログイン時に Finder が開くことなくボリュームがマウントされるはず。
補足: SMB の認証について
初回マウント時はユーザー名・パスワードの入力が求められることがある。 キーチェーンに認証情報を保存すると、入力をスキップできる。