VRDP(仮想リモートディスプレイプロトコル)は、VirtualBox4.0から追加されたリモートからゲストマシンのディスプレイを表示する事が出来る機能です。
WindowsのRDP(Remote Desktop Protocol)の下位互換なので、「リモートデスクトップ接続」のプログラムがクライアントとして使えます。

VirtualBoxのHeadless起動の時に、デスクトップを表示させるのに使ったりします。

その特徴は以下の通り。

  1. VirtualBox本体とは別にインストールするExtension Packをインストールすることで、VRDPが使用可能になる
  2. VRDPのアクセスはゲストマシンに対してではなく、ホストマシンのIPアドレスに対して行う
  3. ゲストOSがLinuxなどの場合は、vncserverなどのインスールや設定が不要

VRDPの有効化

Extension PackをインストールしてもVRDPはデフォルトで無効になっています。
VirtualBoxマネージャーから有効化します。

ディスプレイ設定のリモートデスクトップタブで[サーバーを有効化]にチェックを入れてください。
その際、ホストOSがWindowsの時は[サーバーのポート番号]がホストOS側のリモートデスクトップのポートと被るので、5000~5050の間に設定します。

VirtualBoxマネージャーからは1つのポートしか指定できませんが、VBoxManageコマンドを使うと複数指定や範囲指定が行えます。

VBoxManage modifyvm "VM name" --vrdeport 5000,5010-5012

その他の設定はデフォルトのままで大丈夫です。

ゲストOSの起動

VRDPの設定後、ゲストマシンを起動すると「Windowsのセキュリティの重要な警告」から警告が表示されます。
WindowsのファイアウォールでVRDPがブロックされているので、[アクセスを許可する]をクリックします。

VRDP_ファイアウォールの許可

リモートデスクトップ接続

ゲストOSが起動したら早速リモートデスクトップ接続を使って接続してみましょう。
今回はWindowsクライアントから接続してみますが、Linuxから接続するときはrdesktopや、KDEだったらkrdcを使います。

接続先の指定は「ホストOSのIPアドレス:ポート番号」となりますが、今回はこのホストOSで起動させたゲストOSに接続するので、「localhost:5000」と入力します。

VRDP_RDPの接続

このようなポップアップが出ますが、[このノンピューターへの接続について今後確認しない]にチェックを入れて[はい]をクリックします。

VRDP_RDPの警告

リモートデスクトップでゲストOSの画面を表示することが出来ました。
今回はCentOSのゲストマシンに接続してみましたが、VNCなどの設定無しに非常に簡単に接続することができます。

VRDP_RDPでCentOSに接続

複数画面の接続

VirtualBoxではディスプレイの画面を増やすことができるので、VRDPでも複数画面の接続をサポートしています。

まずはディスプレイ設定のビデオタブで[ディスプレイの数]を2に設定します。
次にリモートデスクトップタブで[複数の接続を許可]にチェックを入れます。

ゲストOSを起動させると画面が2枚立ち上がってきます。
この状態でリモートデスクトップ接続をすると、メインのディスプレイに接続されます。

VRDP_複数枚のディスプレイ

Windowsのリモートデスクトップ接続では2枚目のディスプレイに接続できないので、別のクライアントから接続してみます。
今回はNexus7のPocketCloudというRDPアプリを使ってみました。

[ホストアドレス]にホストOSのIPアドレスを入力し、認証はしてませんがユーザー名とパスワードを適当なのを入力します。
ドメインの部分に”@2”を入力します。数字の部分がディスプレイの番号を表します
ポート番号を入力して保存。

VRDP_PocketCloudの設定

この設定で接続すれば2枚目に接続することができます。

VRDP_Nexus7でVRDPの2枚目に接続