如何随意打开/关闭VirtualBox VM的窗口?


2

需要

我运行VirtualBox VM,并希望通过命令行以编程方式随意打开和关闭VM窗口(例如,单击运行命令行的Dock中的某些图标)。

不是在谈论最小化窗口。我希望WM在无头和窗口模式之间切换。

事实是,我们已经接近了!

  • 无头窗口窗口是一个简单的命令行。
  • windowed-> headless案例可以交互完成,我想完全从命令行完成

发布前搜索

一个人可以无头打开虚拟机

VBoxManage startvm testVM --type headless

然后显示窗口

VBoxManage startvm testVM --type separate

(顺便说一句,命名该“类型”表示该类型不会更改,而那些命令行会更改类型,但是无论如何...)

但是如何从命令行隐藏呢?

通过单击关闭的小工具并选择“在后台继续”,可以交互式地隐藏窗口。

但是,如果没有该交互式菜单,我将找不到从命令行执行该操作的方法。

无解

我知道有一个SDK下载,但是实现这些简单的命令行至少要复杂一个数量级。


窗口是否有自己可以终止的可执行文件?我真的不知道如何解决此问题,但是这是我首先检查Oracle是否不包括特定的vboxmanage命令来结束开始会话的地方。
music2myear

是的,继续阅读--type,表明它正在不同的进程中运行,这意味着您应该能够为此确定可执行文件名或PID。问题是,通过杀死可执行文件来结束此过程是否会对VM产生负面影响。也许此行为是设计使然,要求您从VM内部结束VM上的会话。
music2myear

1
我尝试了“杀死可执行文件”选项。最初,它按预期关闭了窗口。虚拟机显然继续运行。但是从那以后,尝试关闭显示虚拟机图形输出的窗口(即使使用主VirtualBox窗口)也无法按预期工作,直到关闭虚拟机然后再打开。总之,杀死负责显示的进程并不是真正的选择。
斯特凡纳·古里科

Answers:


0

我运行VirtualBox VM,并希望通过命令行以编程方式随意打开和关闭VM窗口(例如,单击运行命令行的Dock中的某些图标)。

我最终要做的是始终在无头模式下运行VM,但是启用了VirtualBox提供的RDP服务器(Extension Pack的一部分)。然后,我没有在无头和窗口之间切换,而是通过适当的身份验证设置启动并退出了RDP查看器。

此解决方案有一些限制:

  • 图形性能肯定不如常规的窗口式VM显示好,但是由于我的用例不需要任何高性能的图形(VM内没有3D或视频)就可以了。
  • 调整桌面定义并不像使用常规窗口式VM显示那样简单。再次在这里还可以。

调用特定于VirtualBox的API可能会提供更精细的集成,但是到目前为止还不需要。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.