VirtualBox 1.4.0でVRDP機能を試す
VirtualBoxでは、画面の出力として、Windowsのリモートデスクトップ接続で使われている、RDPというプロトコルのサーバを動作させて、rdesktopなどのクライアントから接続することができる。
もしかすると、教育としての使い方もできるのかもしれないが、クライアントの操作を読み取り専用(見るだけ)にすることは、現段階ではできないため、悪意のある操作をされないとは限らない。
認証モードを「Null」にすると接続ができることは確認したのだが、認証をかけるようにすると、手元の環境では、正しいユーザ名とパスワードを指定してもうまくいかなかった。
(2008/9/8)バージョン2.0.0で試したところ、「外部」の認証方式でうまく認証が動作していることが確認できた。
関連記事:
VRDP機能を使用する設定
「リモートディスプレイ」の設定で、ポート番号や認証方式などの設定をする。
起動
リモートディスプレイを有効にした後、普通に起動すると、通常のウィンドウにも画面が出るので、これを出さないで起動させたい場合、下のようにする。
$ VBoxVRDP -startvm [仮想マシン名 もしくは UUID] &
接続
上が認証なしの場合で、下が認証ありの場合。
$ rdesktop 127.0.0.1:[設定したポート番号] $ rdesktop -u [ユーザ名] -p - 127.0.0.1:[設定したポート番号]
認証の種類
マニュアルによると
- 「Null」:認証をしない
- 「外部」:ホストOSのユーザアカウントで認証を行う(別のカスタム方式も使える仕組みになっているようだ)
- 「ゲスト」:Guest Additionsを使用して、ゲストOSのユーザアカウントで認証するのだが、テスト中で、未サポート
とのこと。手元の環境での実験では、「外部」の設定にすると、rdesktopに-uや-pオプションで正しいユーザ名とパスワードを指定した場合に、一瞬でrdesktopのウィンドウが閉じてしまった。間違ったユーザ名やパスワードを入れると、しばらく真っ黒な画面が表示されてから閉じるので、正しいか間違っているかは判別できているようなのだが...
ログを見ると
00:02:17.072 VRDP: New connection: 00:02:17.094 VRDP: Channel: [cliprdr] [1004]. Accepted. 00:02:17.128 VRDP: Client seems to be rdesktop. 00:02:17.128 VRDP: Logon: マシン名 (127.0.0.1) build 2600. User: [ユーザ名] Domain: [] 00:02:17.154 VRDPAUTH: User: [ユーザ名]. Domain: []. Authentication type: [external] 00:02:17.251 VRDPAUTH: ConsoleVRDPServer::Authenticate: loading external authentication library 'VRDPAuth' 00:02:17.263 VRDPAUTH: Could not resolve import 'VRDPAuth2'. Error code: VERR_SYMBOL_NOT_FOUND 00:02:17.263 VRDPAUTH: Using entry point 'VRDPAuth'. 00:02:17.324 VRDPAUTH: external authentication module returned 'access denied' 00:02:17.324 VRDPAUTH: Access denied. 00:02:17.324 VRDP: Connection closed: 00:02:17.324 VRDP: Logoff: マシン名 (127.0.0.1) build 2600. User: [ユーザ名] Domain: [] Reason 0x0001.
というようになっている。
「ゲスト」も試したが、残念ながら、うまくいかなかった。
解像度が変わったときに白い部分が出る場合
ゲストOSの画面解像度が変化したとき、一部が白いままになってしまうことがある。この場合、一度切断(rdesktopのウィンドウを閉じる)して
$ rdesktop -g 1024x768 127.0.0.1:[ポート番号]
のように、ジオメトリ指定をして接続し直すとよい。
使用したバージョン:
- virtualbox-bin 1.4.0-r1
- rdesktop 1.5.0-r2