我如何将 VBoxHeadless 发送到后台以便关闭终端?

我如何将 VBoxHeadless 发送到后台以便关闭终端?

我想以无头模式启动虚拟机。优点:我可以从桌面注销,机器将继续运行。但是,启动虚拟机会阻止终端关闭。有没有一个聪明的解决方案可以让一切像服务一样在后台运行?如果我执行“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 controlvmpoweroff/pause/reset 来控制虚拟机(第 3.3 节)。

答案2

遇到了同样的问题,但 NOHUP 不起作用。该问题是由我的 SSH 连接上的 X forward 引起的: https://forums.virtualbox.org/viewtopic.php?f=7&t=76342

禁用 X forward 然后 & 和 nohup 工作正常

相关内容