先日の
★M1 Mac mini(macOS Monterey Ver 12.7.6)で決まった時間に自動起動してもらい、決まった時間に自動でシャットダウン(電源断)してもらいたい時の設定【macOS 12ならまだGUIで設定可】(2026年4月26日(日曜日))
でございますがM1 Mac miniはこちらでうまくいっております。
でもう一つのIntel Mac mini。VirtualBoxでLinuxの仮想環境を立ち上げており、こちらは単にmacOSの方だけ起動してシャットダウンしても困るわけです。シャットダウン時、ちゃんと安全にLinxuの方もshutdown -h nowしてほしいですからね。macOSの方だけシャットダウンしたら強制終了になっちゃう。
そういう操作、やはり自動化的にはmacならGUIでもできるのでしょうがターミナルからコマンドライン、ようはCUIの環境でできた方が手軽。
バーチャルボックスでそういうコマンドないのかな?と思ったらないわけもなくコマンドありました。
VirtualBoxをインストールすると各種操作コマンドが一緒にインストールされるらしく
/Applications/VirtualBox.app/Contents/MacOS
に
VBoxManage
がインストールされます。特にパスの設定しなくても普通にVBoxManage(Mach-O 64-bit executable x86_64)コマンド使えました。

GUIで仮想環境を立ち上げるにはVirtualBoxのアプリを立ち上げて仮想環境の名前を選択し起動ボタンを押して起動ですが
CUIなら
VBoxManage startvm "仮想環境の名前" --type headless

でVirtualBoxのGUIアプリなしでヘッドレス起動ができます。macOSの起動と同時に仮想環境起動したければlaunchd plistを作成して対応、と。
SSHで接続するとちゃんと起動していました。Webアプリも稼働しています。
で、自動シャットダウンは・・・・
VBoxManage controlvm "仮想環境の名前" poweroff # 強制電源オフ(危険)
VBoxManage controlvm "仮想環境の名前" acpipowerbutton # 優しくシャットダウン(ACPI信号)
とかあるわけですが厳密にいえば優しくシャットダウン(ACPI信号)でも
shutdown -h now
とはちょい違うようだ。まあそれなら仮想環境の方のLinuxの中でcronで毎日同じ時間に
shutdown -h now
すればいいか。ゲストOS(仮想環境)の方にGuest Additionsというのをインストールしてある環境(インストールするにはカーネルモジュールをコンパイルする都合上、カーネルヘッダーファイルとコンパイル環境(gcc)等が必要らしい。今のLinux仮想環境にあったかな・・・あとで調べるべか)だと
VBoxManage guestcontrol
というコマンドでも行けるらしい。
VBoxManage guestcontrol "仮想環境の名前" run --exe "shutdown" --username user --password pass -- -h now
でシャットダウンできそうだ。
とはいえ、今の環境だと
★Tailscale(WireGuardによる高速VPN)を使うもわが家の環境では接続が不安定?【「subnet router」機能と「exit node」機能】(2026年2月27日(金曜日))
TailscaleのDocker環境が不安定なのよね。再起動かけると通信が取れなくなる事が多々あり、その都度、キーを再発行してDocker生成しなおしてる。
あくまでテストとして使っててVPN環境は他でもあるから別にいいんだけど、こちらが本格運用できればルーターにVPN機能、いらなくなるなぁ、と思いまして。