我想知道是否有可能在后台使用VirtualBox运行Ubuntu虚拟机,而没有打开任何窗口。

其想法是通过SSH连接到Linux主机,它将在背景。

有人做过这样的事情吗?有可能吗?

评论

您是说通过SSH连接到linux guest虚拟机?您可以使用QEMU非常轻松地执行此操作,它实际上会在您的终端中运行来宾。

因此,您可能也对SSH配置感兴趣:superuser.com/questions/424083/virtualbox-host-ssh-to-guest

如何在没有窗口的情况下启动VM的可能重复项?

放开这个问题最好象原始问题一样对待;投票关闭了另一个问题的副本。

完全同意@DragonLord-单击此处转到另一个问题,然后将其关闭,作为对此问题的重复。

#1 楼

VBoxManage startvm $VM --type headless将在后台启动指定的虚拟机。

要关闭它,请向来宾请求关闭。

评论


如果您已正确设置网络,则只能通过SSH进入计算机。我认为您需要使用桥接,以便VM和您的计算机位于同一网络上。另外,VirtualBox仍将运行目标操作系统的gui,您可以通过远程桌面“ rdesktop”连接到它(由于您在ubuntu中,因此可以从apt获取)

–basszero
10年4月28日在11:36

真正。我假设通常首先通过VirtualBox GUI运行VM,以进行安装和配置。一切正常(包括网络连接)都只能使用VBoxManage。

–发展疯狂
10年4月28日在11:48

使用其他VM软件,我可以关闭窗口,以便它不总是打开并让它继续在后台运行,但是当我想与它进行交互时,请打开该窗口。这是这个吗?

– JFA
15年7月1日在13:13

请确保不使用-X或-Y将ssh连接到计算机,因为这些命令似乎使上述命令将进程附加到了shell,因此,如果退出,则VM会中止。

– Moritz
15年8月28日在9:06

#2 楼

这是VirtualBox 4.2的内置组件。

从Manager启动VM时,只需按住Shift键即可。


评论


更新:在VirtualBox 5.1中,您甚至在管理器中“开始”按钮的右边都有一个下拉开始菜单。仅当VM停止时,此菜单才可用。

–头投
17 Mar 27 '17 at 8:49

#3 楼

绝对!您正在寻找无头安装(Virtualbox)。从命令行启动计算机的方式类似于:

VBoxHeadless --startvm Debian --vrdp=off


,但是您将需要一些连接方式。我要做的是在来宾和主机之间映射端口。使用此配置,您的主机2222端口将映射到客户机的端口22。

VBoxManage setextradata "Debian" "VBoxInternal/Devices/pcnet/0/LUN#0/Config/guestssh/Protocol" TCP  
VBoxManage setextradata "Debian" "VBoxInternal/Devices/pcnet/0/LUN#0/Config/guestssh/GuestPort" 22  
VBoxManage setextradata "Debian" "VBoxInternal/Devices/pcnet/0/LUN#0/Config/guestssh/HostPort" 2222  


之后,您可以使用以下方式登录:

ssh localhost -p2222


评论


vm必须正在监听ssh连接,对吗?可能值得将其明确。

–马修斯·桑塔纳(Matheus Santana)
18 Mar 25 '18 at 14:47

#4 楼

VBoxManage startvm "{VMName}" --type headless的替代方法是VBoxHeadless -startvm "{VMName}"

有趣的是,我刚弄清楚如何在RDP上无头运行VM。

注意-至少在Windows上,它将阻塞您的命令窗口。如果需要继续使用控制台窗口,请打开另一个窗口以启动VM。

要关闭VM,请关闭Guest OS。当Guest虚拟机完全关闭时,VBoxHeadless释放控制台(您可以Ctrl+C,但是我认为它可能类似于真实计算机上的硬重置)。

评论


vboxheadless阻止控制台的事实大大破坏了无头模式的目的。在Mac OS X上(大概在Linux和Solaris上),无头模式在使用&将vboxheadless发送到后台时起作用。

–安德鲁(Andrew J. Brehm)
10年4月28日在11:48

我以为有办法在Windows上做到这一点,但我还没有找到。无论如何,无头虚拟机肯定比运行完整GUI的虚拟机在服务器计算机上使用的资源更少。

–假名
10年4月28日在12:20



#5 楼

我正在使用http://vboxtool.sourceforge.net/中的VBoxTool,它非常适合我。
它可以在启动时自动启动VM,在关闭时停止/保存VM,并提供简单的干净命令行界面。 br />

#6 楼

我认为无缝模式不是他在这里想要的,我认为正确的方法是VBoxHeadless,您可以在手册中找到详细信息。它使用Command-Lin接口运行,例如,如果虚拟机在服务器上运行,但不需要从服务器显示,则可以使用它。您将能够将桌面远程安装到计算机上(前提是您知道如何通过命令行设置该选项)。

我建议在virtualbox论坛中进行询问。实际上,按照我的预期,已经进行了搜索。


VBoxManage是正确的事情,对不起。在手册中链接信息http://www.virtualbox.org/manual/ch08.html

#7 楼

要使用GUI在无头模式下启动,请执行以下操作:

在启动VM时按住Shift键。和Machine-> Detach GUI选项)。

#8 楼

我发现无头模式在Linux(CentOS 5.6)中后台运行时似乎可以正常工作,但是只要进程在后台运行,您就无法访问RDP功能。进行“ fg”操作可使流程回到前台,并恢复RDP功能。好像最好通过init脚本来启动vm headless,而无需与控制台进行交互。

#9 楼

您可以使用VBoxHeadless,也可以(或者我想知道为什么没人在我之前提到它),您可以选择一个启动选项,该选项将在没有任何GUI的情况下运行VM。机器,或右键单击机器并在“运行”项下搜索类似“无输出运行”的内容

#10 楼

我已经将这些行添加到我的.bashrc中:转发表,如下所示:

VM='anakim'
alias vm='VBoxManage startvm $VM --type headless'
alias sshvm='ssh -p2222 localhost'


将localhost:8080插入计算机浏览器时,将打开VM(端口80)上的页面。

#11 楼

如果VM正在运行并且显示屏幕,则可以通过执行以下步骤将其隐藏。