我正在尝试在单独的 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 保持运行。