Pages

Thursday, 31 December 2015

Mac开机后,自动启动 VirtualBox 虚拟机(后台运行)

相信安装虚拟机的朋友应该都有个需求是:开机的同时启动VirtualBox下面的虚拟机,来启动虚拟机里面的各种服务。
在OS X下面,这个需求很容易实现。主要利用苹果特有的LauchAgent Plist和VirtualBox提供的VBoxHeadless命令。下面是详细说明:
1、在~/Library/LaunchAgents/目录下新建一个plist文件
$ touch ~/Library/LaunchAgents/info.autostart.yourVMName.plist

//内容如下:

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
  <dict>
    <key>Label</key>
    <string>info.autostart.yourVMName</string>
    <key>ProgramArguments</key>
    <array>
      <string>/usr/bin/VBoxHeadless</string>
      <string>-s</string>
      <string>yourVMName</string>
    </array>
    <key>RunAtLoad</key>
    <true/>
  </dict>
</plist>
2、启动launchd service,就是该Plist文件:
$ launchctl load -w ~/Library/LaunchAgents/info.autostart.yo
urVMName.plist
这样VirtualBox里面的虚拟就在后台默默的启动了。如果你想停止虚拟机,执行:
$ launchctl unload ~/Library/LaunchAgents/info.autostart.yo
urVMName.plist
或者SSH连接虚拟机,手动关机。
注:请替换文中的yourVMName为你虚拟机的名称.