お使いのブラウザは最新版ではありません。最新のブラウザでご覧ください。

CNET Japan ブログ

VMware仮想マシンにおけるVNCサーバとヘッドレスモード(VMware Fusion)

2009/03/07 15:51
  • このエントリーをはてなブックマークに追加

プロフィール

岸 大輔

「Mac OS X Trend Informations」では、Apple、Mac OS X、及び関連アプリケーション、テクノロジ(主に仮想化)等を中心とした各種の情報等をエントリしております。どうぞ宜しくお願い致します。
ブログ管理

最近のエントリー

前回のエントリに引き続き、VMwareによるコマンドラインインターフェイス「vmrun」に関連した内容となります(前回と同様、デスクトップ仮想化ソフトウェア「VMware Fusion 2.0」を使用しています)。

Mac OS Xベースのデスクトップ仮想化ソフトウェア「VMware Fusion」が生成する仮想マシンには、GUIでは制御する事ができない潜在的な機能の一つとしてVNCサーバが試験的に実装されていますが、今回は同機能と、GUIコンソールを伴わずしてバックグラウンドにて仮想マシンを動作可能とするヘッドレスモードの組み合わせを実践してみたいと思います。

VNCサーバ

今回採り上げていますビルトインのVNCサーバは、米国時間2月13日付にてリリースされた「2.0.2 Build 147997」の段階においてGUIでは制御する事ができない潜在的な機能の一つとして実装されており、同機能が有効化された仮想マシン上では、ゲストOSに対して別途VNCサーバをインストールする事なく、各種VNCクライアントを通じたリモートアクセスが可能となります。

VNCサーバはデフォルトでは無効化されているため、機能を有効化するためには、仮想マシンバンドルに含まれる構成ファイル(.vmx)に以下の項目を追加する必要があります(仮想マシンバンドルはデフォルトで「~/Documents/Virtual Machines/」に属しており、コンテキストメニューを通じて「Show Package Contents(パッケージの内容を表示)」を実行する事により、内容を確認する事ができます)。

  • RemoteDisplay.vnc.enabled = "TRUE"
  • RemoteDisplay.vnc.port = "59xx"

※必要に応じてパスワードを設定する事も可能です。

ポート番号(ディスプレイ番号)は使用する環境に応じて適切に指定する必要がありますが、「Mac OS X 10.5 Leopard」では「Screen Sharing(画面共有)」サービスがデフォルトで5900(TCP)を使用しているため、VMware仮想マシンにおいては通常、5901以降の空いている番号を使用されると良いかと思われます(環境に応じた適切なポート番号を御指定下さい)。

尚、仮想マシンバンドルに含まれる構成ファイル(.vmx)はテキストエディタの他、GUIコンフィギュレーションエディタ「VMX Extras」を使用して編集する事も可能です。「VMX Extras」の概要等を以下のエントリに纏めておりますので宜しければ御参照下さい。

ヘッドレスモード

ホストコンピュータにおけるリソース利用の効率化等も考慮して、上記でVNCサーバを有効化した仮想マシンをヘッドレスモードにて起動してみたいと思います(「VMware Fusion(GUIフロントエンド)」を伴わずして「vmware-vmx」のみをバックグラウンドにて単独で起動)。「VMware Fusion」におけるデフォルトのインターフェイスでは制御する事ができないヘッドレスモードをMac OS X上にて利用するために、VMwareによるサポートフォーラムやユーザガイドには幾つかの手法が紹介されていますが、今回は以前のエントリにおいても採り上げましたコマンドラインインターフェイス「vmrun」を用いて実践してみたいと思います。

任意の仮想マシンをコマンドラインからヘッドレスモードにて起動するためには、「vmrun」における「start」コマンド(任意の仮想マシンを起動するためのコマンド)に「nogui」パラメータを指定します。その際の基本的な書式は以下の通りとなります(「vmrun」はデフォルトで「/Library/Application Support/VMware Fusion/」に属しています)。

vmrun start /path/to/vmname.vmx nogui

※パラメータとして「gui」を指定した場合(或いはパラメータを指定せずに実行した場合)には、「VMware Fusion」を伴いつつ、シングルウインドウモードにて起動される事となります(その他にも「vmrun」をオプションなしで実行する事により、利用可能なコマンド、パラメータのリスト等を確認する事ができます)。

「vmrun」は「Terminal」を通じたローカルからの制御も可能ではありますが、以降では前回のエントリと同様、LAN上の別のコンピュータからsshを経由したリモートコントロールにて、VNCサーバとヘッドレスモードの組み合わせを実践してみたいと思います。使用した環境は以下の通りとなります(「vmrun」を利用するには「VMware Fusion 2.0」以降が必要となります)。

  • サーバ:「Mac OS X 10.5.6」+「VMware Fusion 2.0.2 Build 147997」+「Windows XP Home Edition Service Pack 3(ゲストOS)」
  • クライアント:「Windows XP Home Edition Service Pack 3」+「PuTTY 0.6.0(sshクライアントとして使用)」+「RealVNC 4.1.2(VNCクライアントとして使用)」

最初にMac OS Xサイドにてsshサービスを起動した後(「System Preferences(システム環境設定)」>「Sharing(共有)」>「Remote Login(リモートログイン)」)、「PuTTY 0.6.0」からssh経由にてMac OS Xにログインします。この状態からコマンドラインを通じて上記のコマンドを実行する事が可能となります。

WindowsサイドのVNCクライアントからリモート接続

↑WindowsサイドのsshクライアントからMac OS XサイドのVMware仮想マシンをヘッドレスモードにて起動した後、当該仮想マシンに対してWindowsサイドのVNCクライアントからリモート接続(クリックで拡大します)

この際のMac OS Xサイドにおけるプロセスの状態は以下の通りとなっています。

VMware仮想マシンをヘッドレスモードにて起動させた際のプロセスの状態

↑VMware仮想マシンをヘッドレスモードにて起動させた際のプロセスの状態。「VMware Fusion(GUIフロントエンド)」を伴わずして「vmware-vmx」のみが単独で動作しており、上記の状態から「VMware Fusion」を起動した際には、バックグラウンドで動作している仮想マシンに自動的に接続され、GUIを通じた各種の制御が可能となります(クリックで拡大します)

尚、「vmware-vmx」プロセスはroot権限で実行されているため、当該ユーザがログアウトした際にもバックグラウンドで動作し続ける事となり、この状態においても上記と同様に、各種リモートクライアントを通じたリモートアクセス等が可能となります。

現時点におけるVMwareによる製品ラインアップにMac OS Xベースのサーバ仮想化ソフトウェアやVIクライアント等はラインアップされていませんが、同社によるサポートフォーラムやユーザガイドには「VMware Fusion」を簡易的なサーバ仮想化ソフトウェアとして利用するためのTips等も紹介されていますので、機会がありましたら採り上げてみたいと考えております。

追記(2009/10/6)

米国時間2009年10月27日リリース予定の「VMware Fusion 3.0」より、VNCサーバがセッティングエディタを通じたGUIによる制御に対応します。

※このエントリは CNET Japan ブロガーにより投稿されたものです。朝日インタラクティブ および CNET Japan 編集部の見解・意向を示すものではありません。
運営事務局に問題を報告

最新ブログエントリー