題 在沒有窗口的情況下在後台運行VirtualBox?


我想知道是否可以在後台運行使用VirtualBox的Ubuntu虛擬機,我的意思是,沒有任何窗口打開。

我們的想法是通過SSH連接到Linux主機,後者將在後台運行。

有沒有人做過這樣的事情?可能嗎?


104
2018-04-28 08:57


起源


你的意思是通過SSH連接到Linux 客人?您可以使用QEMU輕鬆完成此操作,QEMU將在您的終端中實際運行guest虛擬機。 - Felix
所以你也可能對SSH配置感興趣: superuser.com/questions/424083/virtualbox-host-ssh-to-guest - Fabricio PH
可能重複 如何在沒有窗口的情況下啟動VM? - Randall Flagg
保持開放,因為這個問題更好地被視為原始問題;在另一個問題上投票結束重複。 - bwDraco
完全同意@DragonLord - 點擊這裡 轉到另一個問題並將其作為對此的欺騙而關閉。 - Raystafarian


答案:


VBoxManage startvm $VM --type headless 將在後台啟動指定的虛擬機。

要關閉它,請求客人關閉。


89
2018-04-28 10:01



如果正確設置網絡,您將只能通過SSH連接到計算機。我認為你需要使用bridged,以便VM和你的機器在同一個網絡上。此外,VirtualBox仍將運行目標操作系統的gui,您可以通過遠程桌面“rdesktop”連接到它(從你在ubuntu中獲取apt) - basszero
真正。我假設VM通常首先通過VirtualBox GUI運行,以便安裝和配置它。一切(包括網絡)都有效,只能使用VBoxManage。 - developmentalinsanity
使用其他VM軟件,我可以關閉窗口,使其不會一直打開並讓它繼續在後台運行,但是當我想要與它交互時打開窗口。這是什麼呢? - JFA
確保在沒有-X或-Y的情況下ssh到機器,因為這些似乎使上面的命令將進程附加到shell,因此如果退出,VM將中止。 - moritz


這是內置於VirtualBox 4.2中的。

從Manager啟動VM時,只需按住Shift鍵即可。

https://blogs.oracle.com/fatbloke/entry/what_s_new_in_oracle


60
2018-05-22 00:52



太棒了,謝謝! :) - Chiramisu
更新:在VirtualBox 5.1中,您甚至可以在管理器的開始按鈕右側有一個下拉開始菜單。僅當VM已停止時,此菜單才可用。 - Titou


絕對!您正在尋找無頭安裝(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

23
2018-04-28 12:25



vm必須正在監聽ssh連接,對吧?值得明白這一點。 - Matheus Santana


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

有趣的是,我剛剛完成瞭如何通過RDP確定如何運行無頭虛擬機。

注意 - 至少在Windows上,它會阻止您的命令窗口。如果您需要繼續使用控制台窗口,請打開另一個窗口以啟動VM。

要關閉VM,請求Guest OS關閉。 VBoxHeadless 在Guest完全關閉時釋放控制台(你可以 Ctrl+C,但我認為它可能類似於真機上的硬重置。


2
2018-04-28 11:04



vboxheadless阻止控制台的事實非常違背了無頭模式的目的。在Mac OS X上(可能在Linux和Solaris上),當您使用&將vboxheadless發送到後台時,無頭模式可以正常工作。 - Andrew J. Brehm
我想在Windows上有辦法做到這一點,我還沒有找到它。無論如何,無頭vm在服務器計算機上使用的資源肯定少於運行完整GUI的資源。 - Fake Name


我正在使用VBoxTool http://vboxtool.sourceforge.net/ 它對我來說很完美。 它可以在啟動時自動啟動VM,並在關閉時停止/保存VM,並提供簡單乾淨的命令行界面。


2
2018-06-10 13:51





我不認為無縫模式是他在這裡尋找的東西,我認為正確的事情是VBoxHeadless你可以在手冊中找到哪些細節。它使用命令-lin接口運行,例如,如果虛擬機在服務器上運行但是不希望從服務器顯示,則可以使用它。您將能夠遠程桌面到機器上(讓您知道如何通過命令行設置選項)。

我建議在virtualbox論壇中詢問這個問題。實際上,首先進行搜索,因為我預計這已經被問到了。


對不起,VBoxManage是對的。鏈接手冊中的信息 http://www.virtualbox.org/manual/ch08.html


2
2018-04-28 09:33





我發現在Linux(CentOS 5.6)中進行後台處理時,無頭模式似乎工作正常,但只要進程處於後台,您就無法訪問RDP功能。執行'fg'將進程恢復到前台,並恢復RDP功能。看起來啟動vm headless最好通過init腳本完成,其中不需要與控制台進行交互。


1
2018-05-13 18:45





您可以使用 VBoxHeadless 或者(我想知道為什麼沒有人在我之前提到這一點)你可以簡單地選擇一個啟動選項,它將在沒有任何GUI的情況下運行VM。

按住shift並啟動機器,或者右鍵單擊機器並在“Run”項下搜索“Run without output”之類的內容


1
2018-02-28 17:45





要使用GUI以無頭模式啟動:

持有 轉移 啟動VM時的密鑰。

之後,您還可以連接和斷開GUI(使用 節目 和 機 - >分離GUI 選項)。


1
2017-09-05 12:26