我想以无头模式启动虚拟机。优点:我可以从桌面注销,机器将继续运行。但是,启动虚拟机会阻止终端关闭。有没有一个聪明的解决方案可以让一切像服务一样在后台运行?如果我执行“sudo service ntp start”,它将启动,然后我可以关闭终端。我可以执行以下操作,但我对此并不满意:
nohup VBoxHeadless -s "MyGuest" &
- 从配备以下功能的登录 shell (tty1-6) 登录屏风,启动虚拟机,然后我就可以使用 F6 分离,而不需要注销。
有更好的方法吗?
答案1
刚刚找到解决方案这里VBoxManage
:用而不是启动虚拟机VBoxHeadless
解决了我的问题:
VBoxManage startvm <uuid|vmname> --type headless
例如,如果你的虚拟机名称是Ubuntu它的 UUID 为865b2700-471a-11e4-916c-0800200c9a66,你可以运行:
VBoxManage startvm Ubuntu --type headless
或者
VBoxManage startvm 865b2700-471a-11e4-916c-0800200c9a66 --type headless
注意:如果您的虚拟机名称包含空格,请将名称括在引号中(例如"My Ubuntu"
)。
机器顺利进入后台。现在我可以使用VBoxManage controlvm
poweroff/pause/reset 来控制虚拟机(第 3.3 节)。
答案2
遇到了同样的问题,但 NOHUP 不起作用。该问题是由我的 SSH 连接上的 X forward 引起的: https://forums.virtualbox.org/viewtopic.php?f=7&t=76342
禁用 X forward 然后 & 和 nohup 工作正常