需要
我运行一个 VirtualBox VM,并且想从命令行以编程方式随意打开和关闭 VM 窗口(例如,单击运行命令行的 Dock 中的某个图标)。
我是不是谈论最小化窗口。我希望 WM 在无头模式和窗口模式之间切换。
事实上,我们已经接近目标了!
- 无头->有窗口的情况是一个简单的命令行。
- 窗口化->无头化的情况可以以交互方式完成,我想这样做纯粹从命令行。
发帖前先搜索
一罐以无头方式打开虚拟机:
VBoxManage startvm testVM --type headless
进而显示窗口:
VBoxManage startvm testVM --type separate
(顺便说一句,将该“类型”命名为表明该类型不会改变,并且那些命令行会改变类型,但无论如何......)
但是如何隐藏命令行?
可以通过单击关闭小工具并选择“在后台继续”来交互地隐藏窗口。
但我不知道该怎么做从命令行没有交互式菜单。
无解
答案1
我运行一个 VirtualBox VM,并且想从命令行以编程方式随意打开和关闭 VM 窗口(例如,单击运行命令行的 Dock 中的某个图标)。
我最终的做法是始终以无头模式运行虚拟机,但启用 VirtualBox 提供的 RDP 服务器(扩展包的一部分)。然后,我无需在无头模式和窗口模式之间切换,只需启动并退出具有正确身份验证设置的 RDP 查看器即可。
此解决方案存在一些局限性:
- 图形性能肯定不如常规窗口 VM 显示器,但由于我的用例不需要任何高性能图形(VM 内没有 3D 或视频),所以没关系。
- 调整桌面清晰度并不像常规窗口式虚拟机显示那样简单。这里同样没问题。
调用 VirtualBox 特定的 API 可能会提供更精细的集成功能,但目前还不需要。