VirtualBox上のゲストOSにリモートデスクトップでアクセスする、あと、リモートアクセス前提でゲストOSを起動する


※ 以下の記事では ゲストOS=仮想マシン ということでお願いします。

ゲストOSにリモートデスクトップ

  • VirtualBoxにはRDP(Windowsのリモートデスクトップ規格)の下位互換規格であるVRTDPが標準でそなわってるので、以下の手順で有効化しましょう。
    • ゲストOS選択画面で、VRDPを設定したいゲストOSを右クリックし「設定」
    • 画面左がわで「ディスプレイ」をクリック→「リモートディスプレイ」タブ
    • 「サーバを有効化」にチェックを入れ
    • 「サーバのポート番号」を3390とかに変更(3389のままだとXP proの純正RDPとかぶるので変更しましよう。この記事内ではVRDPは3390でつかうことにします)OK
    • ゲストOSを起動するだけ!簡単で感嘆!
    • 一応認証方法も選べるようですね。Nullにしとくと、とくにVRDP接続のためのパスワードは聞かれることなくログインできます。
  • では、以下のような家庭内LAN内の環境で試してみました。
      • 左の黄色いのがVirtualBoxをインストールしたXP Pro。ゲストOSはCentOSを入れてみました。
      • 真ん中の黒いのがWifiでつかってるiPhone、普段から黄色いXPの純正RDPに接続して使ってます
      • 右がサブマシンのネットブック。XP home。やはりネットブックなんて買うもんじゃないですね、処理能力があまりにもたりないんで、普段は使いません。使うときも、黄色いメインのマシンにリモートデスクトップして使うか、メンテナンス用に使ってます。
    • *1 の場合は、ただ単に下記のように実施
      • ファイル名を指定して実行→ mstsc -v localhost:3390
      • スタート→アクセサリ→通信→リモートデスクトップ接続でコンピュータ欄に localhost:3390 と入力して「接続」
    • *2 の場合は、ネットトップ(WinXP)から。これも*1と同様、で宛先が localhostじゃなくて、192.168.1.3 のポート3390あてにやるのがポイント。VRDPはあくまでVirtualBoxの機能なので、VirtualBoxがインストールされてるホストOS(ここでは192.168.1.3)にアクセスしないといけない。ゲストOS上で工夫すれば telnetやssh,VNCとかを ゲストOSに対して直接(192.168.1.5あて)できるはずです。
    • *3 の場合は、iPhoneのRDP liteというフリーアプりから 192.168.1.3のポート3390あてに接続してみた・・・が、NGだった。理由は不明。別のアプリ使えばできるかもしれないけど、まーアイフォンからそこまではやらないっすよね。
    • 以上です

リモートアクセス前提でゲストOSを起動する

  • 以下のようなニーズを満たすためにヘッドレス機能というのがあります。
    • バックグラウンドで動いてくれてるだけでいいので、ゲストOSのデスクトップ画面(GUI)が見えなくていい
    • たまに使うときはVRDPやtelnet、sshで使うからいいや
    • ホストOSがLinuxやSolarisで、そもそもGUI環境(モニタ・キーボード)がない
  • やりかたは下記の通り
    • まず、ゲストOSが起動していたら、一度停止します。
    • コマンドプロンプトを開きます。
      • 次のコマンド。だけ。centos

VBoxHeadless.exe -s 仮想マシン名

      • 仮想マシン名というのは、以下の部分。
      • 以下は作業ログ
Microsoft Windows XP [Version 5.1.2600]
(C) Copyright 1985-2001 Microsoft Corp.

C:\Documents and Settings\USER>
C:\Documents and Settings\USER>
C:\Documents and Settings\USER>cd "c:\Program Files\Oracle\VirtualBox"

C:\Program Files\Oracle\VirtualBox>dir *exe
 ドライブ C のボリューム ラベルは winxp です
 ボリューム シリアル番号は 5816-5653 です

 C:\Program Files\Oracle\VirtualBox のディレクトリ

2010/06/25  16:02            72,208 VBoxHeadless.exe
2010/06/25  16:02           510,480 VBoxManage.exe
2010/06/25  16:02            59,920 VBoxNetDHCP.exe
2010/06/25  16:02           989,712 VBoxSDL.exe
2010/06/25  16:02         1,784,336 VBoxSVC.exe
2010/06/25  16:02           109,072 VBoxTestOGL.exe
2010/06/25  16:02         5,175,824 vboxwebsrv.exe
2010/06/25  16:02         3,938,832 VirtualBox.exe
               8 個のファイル          12,640,384 バイト
               0 個のディレクトリ  153,145,950,208 バイトの空き領域

C:\Program Files\Oracle\VirtualBox>
C:\Program Files\Oracle\VirtualBox>VBoxHeadless.exe /?
Oracle VM VirtualBox Headless Interface 3.2.6
(C) 2008-2010 Oracle Corporation
All rights reserved.

VBoxHeadless.exe: error: Invalid parameter: /?
Usage:
   -s, -startvm, --startvm    Start given VM (required argument)
   -v, -vrdp, --vrdp on|off|config       Enable (default) or disable the VRDP
                                         server or don't change the setting
   -p, -vrdpport, --vrdpport      Comma-separated list of ports the VRDP
                                         server can bind to. Use a dash between
                                         two port numbers to specify a range
   -a, -vrdpaddress, --vrdpaddress   Interface IP the VRDP will bind to
   -c, -capture, --capture               Record the VM screen output to a file
   -w, --width                           Frame width when recording
   -h, --height                          Frame height when recording
   -r, --bitrate                         Recording bit rate when recording
   -f, --filename                        File name when recording.  The codec
                                         used will be chosen based on the
                                         file extension


C:\Program Files\Oracle\VirtualBox>VBoxHeadless.exe -s centos
Oracle VM VirtualBox Headless Interface 3.2.6
(C) 2008-2010 Oracle Corporation
All rights reserved.

Listening on port 3390.
    • これでゲストOSは起動しますが、今までのWindows表示されたGUI用のコンソールは起動しません。ここでVirtualBoxを起動すると、ゲストOSの管理画面(いつもの画面)がでてきます。VirtualBoxをとじてもゲストOSは停止しません。しかし、VBoxHeadlessを実行したコマンドプロンプトのウインドウを閉じてしまうと、ゲストOSが停止してしまうので注意
    • VBoxHeadless.exeのショートカットをデスクトップ上とかにおいて→ 右クリックで「プロパティ」→「リンク先」のところに 「-s 仮想マシン名」 を書いとくと、便利。よく使う仮想マシンの場合とか。


<参考リンク>