2013年10月20日 星期日

用 VRDP 連線 VirtualBox 虛擬機(三):USB 的重導

使用 VRDP 連接、使用「遠端虛擬機」時,通常使用者與「虛擬機」間有些距離。若想讓「遠端虛擬機」存取『隨身碟』的內容,只能經由網路上傳到「虛擬機」中(如:FTP 等)。如果能夠像在「本地電腦」中的「虛擬機」一樣,經由簡單的點選設定,即可將『隨身碟』插入到透過網路連接的「遠端虛擬機」中,那將是一個既方便、又神奇的功能。
  要有這個神奇功能,兩邊的電腦系統必須再依下列要求安裝套件才可:
當兩邊的電腦都準備妥當,接下來的步驟就快多了。

注意:在『USB 的重導』有些操作的順序很重要,讀者要多留意。

一、「客戶端電腦」連線

在連線前,各位讀者應該已經決定好哪個「USB 裝置」要重導至「遠端虛擬機」了,用這個命令查一下它的『辨認名稱』。
[SiB@Celeron-D ~]$ lsusb
Bus 004 Device 003: ID 03ee:641f Mitsumi WIF-0402C Bluetooth Adapter
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
 . . . . .

[SiB@Celeron-D ~]$ lsusb
Bus 001 Device 008: ID 058f:6387 Alcor Micro Corp. Flash Drive
Bus 004 Device 003: ID 03ee:641f Mitsumi WIF-0402C Bluetooth Adapter
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
 . . . . .
第一個命令是在「USB 裝置」插入前,第二個命令是在插入後,比較查詢結果可以看出不同處為
Bus 001 Device 008: ID 058f:6387 Alcor Micro Corp. Flash Drive
其中的『 058f:6387 』就是這個「USB 裝置」的『辨認名稱(ID, Identifier),先記下來待會在「虛擬機」的設定要用它。

二、「虛擬機」的『USB 裝置篩選器』設定

從「虛擬機」的《設定值》→《USB》按【】增加一個空的篩選器,再點選【】修改篩選器的設定
上圖中
  • 在『名稱:』修改為讀者容易辨認的名稱(如:Trancend 8G),
  • 『供應商 ID:』及『產品 ID:』分別填入上一步驟查得之『辨認名稱(ID)』,
  • 『遠端:』原為『任何』改為『是』,只接受重導而來的 USB 裝置。

注意:『USB 裝置篩選器』未完成設定前,先不要用 VRDP 連線,否則「客戶端電腦」的 「USB 裝置」會全部被重導,如果 USB 滑鼠被重導,要恢復回來就很麻煩。

三、啟動「虛擬機」

用 VRDP 進行遠端連與「虛擬機」是否用 headless 模式啟動並沒有關係,而是和「虛擬機」的《遠端顯示》的《□啟用伺服器》有否勾選有關。以 headless 模式啟動為例,
[SiB@Core-i7 ~]$ VBoxManage startvm VM_test --type headless
其中,『 VM_test 』是虛擬機的名稱,『 -type headless 』是開啟「虛擬機」的模式之參數。

四、「客戶端電腦」連線

「客戶端電腦」連線的操作很簡單,只要下這個命令即可。
[SiB@Celeron-D ~]$ rdesktop-vrdp 192.168.10.17:3389 -r usb
其中,『192.168.10.17』為「虛擬機」所在之「主機電腦」的「網路位址」,『3389』為「虛擬機」遠端顯示的連線埠號,『 -r usb 』是開啟 USB 重導的參數。

五、在「虛擬機」的『VRDP 遠端顯示』使用重導之 USB 裝置

在本地「客戶端電腦」插入「USB 裝置」,這個裝置會被重導至「遠端虛擬機」,通過『USB 裝置篩選器』篩選後,就可以讓「遠端虛擬機」內的系統看到它了。在 Linux 系統可用這個命令查詢
[SiB@VM_test ~]$ lsusb
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 002 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub

[SiB@VM_test ~]$ lsusb
Bus 001 Device 037: ID 058f:6387 Alcor Micro Corp. Flash Drive
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 002 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
上例中,第一個命令是在 USB 裝置插入前,第二個命令是在插入後。

使用經驗分享:

  • 本地端的主機,記得要將「使用者」加入 vboxusers 群組,才可使用擴充的功能。(注意:加入群組後,要重新登入才會生效)
  • 實際上,所有本地「客戶端電腦」的「USB 裝置」都會被重導過去,但是只有通過『USB 裝置篩選器』的裝置才會被「遠端虛擬機」所看到。
  • 有些「USB 裝置」被重導後,雖然可以被「遠端虛擬機」看到,但是不能正常動作,讀者要多用幾個試試。
  • 有些重導後的「USB 裝置」,不會自動啟動(如:隨身碟),可以嘗試將 VRDP 斷線,再重新連線試看看。測試時,有時要手動掛載才可存取隨身碟。這些經驗提供給各位讀者參考。

已測試版本:

  • 主  機:Fedora 19  +  VirtualBox 4.3  +  Extension Pack 
  • 虛  擬  機:Fedora 19  +  VirtualBox Guest Additions 4.3
  • 本地電腦:Fedora 19  +  VirtualBox 4.3

參考資料:

沒有留言:

張貼留言

感謝你耐心看完本文,歡迎留下任何指正、建議,筆者會儘快回應。(English is also welcome.)