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


[+] Ubuntu 指令新手會用到的35個技法 - 這是以阿舍的使用經驗編寫出來的電子書,三天內應該就看的完,學的起來哩 ! 有空就參考一下囉 ! ... ^^=

關於阿舍

好文不藏私,請多分享囉!! ^^=



2 則留言 :

匿名 提到...

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

Arthur Yu 提到...

Hello,

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

張貼留言

如果留言後,發現留言不見了,這通常是因為 Goolge 把它認為是垃圾留言了,請用信件通知阿舍調整 ( ayubiz@gmail.com )。謝謝 !