2012-08-16

VirtualBox 用 VBoxHeadless 啟動和停止虛擬機器

如果虛擬機器的用途是拿來當伺服器用,也就是說,像是虛擬機器是拿來當 Web Server、FTP Server 及 SAMBA Server 等之類的功能,就是虛擬機器開起來後,就不太需虛擬機器所在的那台電腦上做操作的情形,那麼這個時候,就可以使用 VirtualBox 的 VBoxHeadless 指令來將虛擬機器在背景啟動,這樣就不會在 Host 上出現虛擬機器的操作畫面了哩 !



早期,要將 VirtualBox 的虛擬機器開在背景的話,是要用「VBoxManage --startvm」指令來達成,不過,雖然,這個指令能把虛擬機器在背景啟動,但是,並不會回出現任何虛擬機器所傳回的訊息,所以,當虛擬機器無法啟動時,也不會在螢幕上出現錯誤訊息,相對的,「VBoxHeadless」指令則是能夠知道虛擬機器發生什麼事,因此,VirtualBox 文件上都建議不要再用「VBoxManage --startvm」指令了哩 !

下面就是「VBoxHeadless」指令的操作方式,以阿舍要將「ArthurTodayTest」這個虛擬機器啟動在背景為例,第二行就是阿舍的例子,另外,如果不知道虛擬機器的名字叫什麼的話,可以先用「VBoxManage list vms」指令來顯示所有的虛擬機器,而顯示出來的每一行的最前面用雙引號括起來的,就是虛擬機器的名稱哩 !

VBoxHeadless --startvm "虛擬機器名稱"

VBoxHeadless --startvm "ArthurTodayTest“

接下來,可能有人會問,那如果想要直接操作這個虛擬機器的話,那要怎麼辦呢? 其實,VBoxHeadless 指令預設都會啟用遠端桌面功能(RDP),所以,就可以直接在 Ubuntu 用 Remmina 或是 Windows 的遠端桌面來連線到虛擬機器,而如果不想在 VBoxHeadless 啟動虛擬機器的時候同時啟用遠端桌面功能的話,可以在 VBoxHeadless 指令後面加入「--vrde=off」的指令來強制停用遠端桌面功能。

VBoxHeadless --startvm "虛擬機器名稱" --vrde=off

另外,如果不幸,和阿舍一樣,遇到遠端桌面的設定問題時,可以使用下面的指令來要求 VBoxHeadless 指令用虛擬機器自己的遠端桌面設定 (設定值 > 顯示 > 遠端顯示)來啟用遠端桌面功能。

VBoxHeadless --startvm "虛擬機器名稱" --vrde=config

最後,如果你和阿舍一樣,在用 VBoxHeadless 指令啟動虛擬機器後,找不到停止虛擬機器的方法的話,請用下面的指令來讓虛擬機器關機,當然,也是可以透過遠端桌面來關機的哩!

VBoxManage controlvm "虛擬機器名稱" poweroff

參考資料:
http://www.virtualbox.org/manual/ch07.html#vboxheadless

推薦閱讀


有疑問? 問題還是沒解決嗎? 歡迎下方留言提問和討論 😁

2 則留言 :

匿名 提到...

VBoxManage controlvm "虛擬機器名稱" powoff
powoff 要改成poweroff 才可以執行@@!!

Arthur 提到...

Hello,

修正了 ... 感謝囉 ! ... ^^=

張貼留言

歡迎留言提問和討論 .... 😁