VirtualBoxのリモートディスプレイ機能を活用する
Oculus Riftを見てもPlayStaion VRを見ても『バーチャルボーイ』の苦い思い出しか浮かんでこない昭和世代の篠キチです、こんばんは。
個人的にバーチャルボーイには思い入れがあったりなかったりするんですが、今回はバーチャル繋がりってことでVirtualBoxのネタについて書きたいと思います。(いつも通り)
VirtualBoxのゲストOSとネットワーク管理者の静かな戦い
VirtualBoxのゲストOSとして開発環境を用意するってのは非常によくある光景だと思いますが、その開発環境に外部からアクセスするのは若干面倒な設定が必要だったりします。
ホストOSとの間で通信するだけならVirtualBoxに用意されているホストオンリーネットワークの機能を利用すると、わりと簡単に設定できて便利ですが、気をつけないと思わぬトラブルを起こしてネットワーク管理者に説教されるハメになりかねません。(最近この手のトラブルの話は聞かないので、いまのバージョンでは起こらないかもしれないですが)
ただ、開発の状況によってはホストOS以外の別のPCからゲストOSの開発環境に接続したい場合もあるでしょう。一番簡単なのはゲストOSにブリッジアダプターを追加してLANに参加させてしまうことですが、仮想とはいえネットワーク管理者から見たら通常のPCと同じですから、そんな無邪気にポンポンとPC増やされたら管理もへったくれもありません。針のむしろに座らせて小一時間ほど説教されても文句は言えない行為と言えるでしょう。(篠キチはLANの管理者です)
丁寧に設定するなら、ゲストOSのネットワークカードはNATにしつつポートフォワード機能を使って外部からSSHやHTTPでのアクセスを受けられるようにするのが、管理者にとっても平和でよさげです。設定方法はこちらのブログで丁寧に解説されていて大変助かります。
…が、なにげに面倒くさいですよね。わかります。
なんていうか、ゲストOSをリモートでいじることができれば万事解決という場面も少なくないと思いますので、今回はグッドでジョリーな別の方法をご紹介しようと思います。
VirtualBoxのリモートディスプレイ機能
VirtualBoxにはリモートディスプレイ機能というのが用意されています。
これを使うとWindowsのRDP(Remote Desktop Protocol)と互換性のあるリモート接続環境をVirtualBoxが用意してくれるので、ゲストOSにWindowsのリモートデスクトップで接続して遠隔操作ができるようになります。ゲストOSのネットワークをNATにしてローカルに閉じた状態になっていても問題ありません。リモートデスクトップのアプリはMac用もあるので、それを使えばMacからでも問題なく利用できます。
この仕組みはVirtualBoxが仲介する形でリモート接続を実現しているので、ゲストOSがなんであっても基本的にOKというところが便利です。Webの開発環境でゲストOSがLinuxだったりしても、リモート接続させるためにOS上で余計な設定をする必要がないというのも、なにげに大きなメリットかもしれません。
VirtualBox側の設定方法
設定は簡単。VirtualBox上でゲストOSの設定画面を開いて、「ディスプレイ」の「リモートディスプレイ」タブを選択した後、「サーバーを有効化」にチェックを入れるだけです。
ただし設定項目にある「サーバーのポート番号」には注意が必要です。デフォルトで入っているポート番号の「3389」はRDPの標準設定なので、ホストOSがWindowsの場合はホスト自身へのリモート接続とポートが競合する可能性が高いです。僕はMacなんで全然平気なんですが、念のため「13389」とか別のポートに変えておきましょう。
また、ゲストOSを複数用意していてそれぞれにリモート接続可能にする場合も、同時接続する場合を考えてポートはゲストOS毎に変えておいたほうが無難です。「13389」「23389」「33389」みたいにいい感じで。
リモート接続の方法
篠キチはMacを使っているので、Mac版のリモートデスクトップのアプリで解説します。
と言っても「New」で新規接続の設定を開いた後は、設定の名前(Connection name)を決めて、PC nameに接続先の情報を入れれば基本的に動くはずです。こんな感じで。
接続先の情報は「ホストOSのIPアドレス」に「:」で区切って、VirtualBox上で設定したゲストOSのリモートディスプレイのポート番号を続けて書けば大丈夫です。「192.168.1.100:13389」みたいに。
少し注意が必要なのは、リモート制御するのはVirtualBox内にあるゲストOSですが、接続に行くのはそのVirtualBoxが動いているホストOS(親機)なので、ホストOSのIPアドレスを入れないといけないことくらいでしょうか。
ちなみにこのリモートディスプレイ機能はVirtualBoxのExtension Packを入れておかないと使えないので、そこんとこヨロシク(昭和感
TAG
約3年半にわたり君臨したランチェスター最年長の座を譲り、今はただの猫・鉄道・Perfume好きな不惑おじさん。好きなスタバオーダーはクワットロベンティノーホイップソイホワイトモカ。
TAG
- Android
- AWS
- Bitrise
- CodePipeline
- Firebase
- HTML
- iOS
- IoT
- JavaScript
- KPI
- Linux
- Mac
- Memcached
- MGRe
- MGReのゆるガチエンジニアブログ
- MySQL
- PHP
- PICK UP
- PR
- Python
- Ruby
- Ruby on Rails
- SEO
- Swift
- TIPS
- UI/UX
- VirtualBox
- Wantedly
- Windows
- アクセス解析
- イベントレポート
- エンジニアブログ
- ガジェット
- カスタマーサクセス
- サーバ技術
- サービス
- セキュリティ
- セミナー・展示会
- テクノロジー
- デザイン
- プレスリリース
- マーケティング施策
- マネジメント
- ラボ
- リーンスタートアップ
- 企画
- 会社紹介
- 会社紹介資料
- 勉強会
- 実績紹介
- 拡張性
- 採用
- 日常
- 書籍紹介
- 歓迎会
- 社内イベント
- 社員インタビュー
- 社長ブログ
- 視察
- 開発環境