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 のサーバに接続するには、ちょろっと設定が必要な分、多少面倒な感じではあります。が、ポイントさえ押えてしまえば、なんとかなる、という感じです。
というわけで以上備忘録終わり。
ちなみにこの記事、最初は 無貌断片 用に書いてましたが、意外と長くなったし、メモじゃなくて備忘録になっちゃったので、こっちに記事を投稿したという。
まあ年ももうちょっとで終わりますが、残りの今年も元気に過ごしたいです。