VMware Fusionで作成した仮想マシンをホスト起動時に自動起動させたかったのでそのためのメモです。(VMware Fusion 6.0.1で確認)
VMをコマンドラインで起動させる方法
VMware Fusion内にあるvmrunコマンドを使用します。
Terminal
$ /Applications/VMware\ Fusion.app/Contents/Library/vmrun start /path/to/vm.vmwarevm/vm.vmx
headlessモードで起動したい場合はnogui
をつけます。
Terminal
$ /Applications/VMware\ Fusion.app/Contents/Library/vmrun start /path/to/vm.vmwarevm/vm.vmx nogui
VMを安全にシャットダウンさせるために
OS Xのlaunchdはデーモンプロセス終了時にSIGTERM
を送ってきます。(参考: Daemons and Services Programming Guide)
そのため、vmxファイルにSignalに関する設定を追記します。
vm.vmx
signal.suspendOnHUP = "TRUE"
signal.poweroffOnTERM = "TRUE"
launchdのことだけを考えるならsignal.suspendOnHUP
の設定はいらないのですが、一応。
この設定を行ってlaunchdからVMを起動し、launchctl stop
を行った場合、VMはシャットダウン処理を行って終了するようになります。