カラクリスタ

「輝かしい青春」なんて失かった人のブログ

Windows on VirtualBoxでMS-RDPを使う方法

VirtualBox 上の Windows guest に、Windows guest の RDP サーバを使って接続する方法


VirtualBox には VRDP(VirtualBox Remote Desktop Protocol)という RDP サーバがついていて、どんなゲスト OS でも RDP 接続ができるわけだけど、これはあくまで、モニタに映るであろう画面を RDP 使って表示しているだけの代物っぽく、SeamlessRDP を使ったり、rdesktopのユーザー名とパスワードを指定した自動ログインとかはできない。

で、昨日から色々実験してたんだけど、Windows ゲストにrdesktopを使って自動ログインしたり、SeamlessRDP を使って Application を使ったりしたい場合、Windows ゲストに実装されてる RDP サーバを有効にして、その有効になったサーバに、rdesktopなりで接続する必要がある。

で、Windows ゲストの RDP サーバを有効にして、それにつなげるまでの流れを、大体まとめてみる。

それで、その大体の手順。

1. Windows 側の準備

まず、Windows 側で、RDP サーバを有効にし、自動ログインを有効にする場合には、それも設定をする。

RDP サーバの有効の仕方は、Windows のバージョンによって違うので、各自自分のバージョンにあった方法を選んでください。

バージョンにもよりますが、Windows XP だとマイコンピューターのプロパティのリモートタブとか、Windows 7 だとコントロールパネル->システムとセキュリティ->システム->リモートの設定あたりの設定です。

あと当たり前ですが、リモートデスクトップをサポートしていないエディションでは、同然の如くリモートデスクトップは利用できません。

であと、RDP を使って、自動ログインしたい場合には、それ用の設定をしておいてください。

これに関しては、いまいちよくわかってないので、説明は省略します。

2. VM の設定

上記の設定で Windows 側の RDP サーバは有効になりましたが、実際には VirtualBox の設定をしないと、Windows 側の RDP サーバには接続できません。まあこれは Linux Guest の場合に、sshに接続するために VirtualBox の設定がいるのとおんなじ事です。

で、RDP で接続できるようにするには、端末でvboxmanageを使って、

$ vboxmanage setextradata "VMName" "VBoxInternal/Devices/pcnet/0/LUN#0/Config/guestrdp/Protocol" TCP
$ vboxmanage setextradata "VMName" "VBoxInternal/Devices/pcnet/0/LUN#0/Config/guestrdp/GuestPort" 3389
$ vboxmanage setextradata "VMName" "VBoxInternal/Devices/pcnet/0/LUN#0/Config/guestrdp/HostPort" 3389

という感じで設定するか、VM の設定 XML ファイルを開いて、<ExtraData>セクション以下に、

<ExtraDataItem name="VBoxInternal/Devices/pcnet/0/LUN#0/Config/guestrdp/GuestPort" value="3389"/>
<ExtraDataItem name="VBoxInternal/Devices/pcnet/0/LUN#0/Config/guestrdp/HostPort" value="3389"/>
<ExtraDataItem name="VBoxInternal/Devices/pcnet/0/LUN#0/Config/guestrdp/Protocol" value="TCP"/>

という感じの項目を書き足します。

ちなみに、上記の"VMName"は実際の VM の名前、Devices/pcnet/0/LUN#0の部分は、 各自実際に VM で使ってるデバイスの設定を使用してください。

これで VirtualBox 側の設定は終わりです。

3. rdesktop 等で接続する

これで準備が整ったので、Linux 系 OS の場合はrdesktopを利用して、

$ rdesktop 127.0.0.1

と実行すると、Windows guest の RDP サーバを使って、Windows guest に接続できます。また-uオプションや-pオプションを使って、自動ログインすることもできます。さらに SeamlessRDP 等を利用したい場合には、それ用の設定をすれば、多分つなげられると思います。

4. 以上で終了です

というわけで、以上が Windows on VirtualBox に、MS-RDP を使って guest に接続する方法でした。

昨日から SeamlessRDP を試してみたくて、色々実験してたわけですが、昨日の段階ではうまく行かず、一晩経って今日になってから、ようやくうまく行った次第。

まあ VMware だともうちょっと素直にできるんっぽいんですが、VirtualBox 上の Guest OS のサーバに接続するには、ちょろっと設定が必要な分、多少面倒な感じではあります。が、ポイントさえ押えてしまえば、なんとかなる、という感じです。

というわけで以上備忘録終わり。

ちなみにこの記事、最初は 無貌断片 用に書いてましたが、意外と長くなったし、メモじゃなくて備忘録になっちゃったので、こっちに記事を投稿したという。

まあ年ももうちょっとで終わりますが、残りの今年も元気に過ごしたいです。

使い方 - #RDP #Windows #Linux - #2010-12 #2010-12-24