startx 脚本命令行在单独的 X 服务器上启动 VirtualBox VM

startx 脚本命令行在单独的 X 服务器上启动 VirtualBox VM

我正在尝试在单独的 X 屏幕(全屏)上启动 VirtualBox VM,以便我可以通过 Ctrl + Alt + F< 在 Linux 和 Windows XP 之间切换。

我基本上想做这样的事情:

startx "VBoxManage startvm XP" -- :4 
startx "VBoxManage startvm "XP"" -- :4 (is this correct for quotes within quotes??)

我从 startx 脚本中得到一个“错误的命令行选项“VBoxManage”,所以显然我不理解如何编写“shell magic”的规则。

我怎样才能正确地做到这一点,或者是否有更好的方法在单独的 X 屏幕上实现 VirtualBox VM?

答案1

您可以将类似这样的内容添加到您的 ~/.xinitrc 文件中:

# ...
if [ "${DISPLAY}" = ":4" ]; then
  gnome-session &
  waitpid=$!
  vboxmanage startvm vmname
  wait ${waitpid}
fi
# ...

这将检查这是否是您想要运行 VM 的显示器,然后在后台启动 gnome 会话(或您想要的任何会话)并执行 vboxmanage。这wait ${waitpid}}将使一切保持运行,直到您决定终止 startx 或退出 gnome。

答案2

对于任何偶然发现这一点的人来说......

使用 startx 执行命令的最佳方式是将它们放在 shell 脚本中,然后使用:startx ./example.sh :4

虽然这适用于虚拟盒,但一旦启动虚拟机,vboxmanage 就不会继续在 xsession 中运行。相反,我发现它virtualbox --startvm "NAME" --fullscreen实际上让 xsession 保持运行。

相关内容