Windows Virtual PC と RemoteApp (その1)
前回までの投稿で、Windows Virtual PC の仮想アプリケーション モードの正体が RemoteApp であることは既にお話しました。RemoteApp は、Windows Server 2008 のターミナル サービスからサポートされている新機能です。RemoteApp を使用したことのない方もいると思うので、今回は通常の RemoteApp から話を始めましょう。
RemoteApp は、サーバーのデスクトップ全体ではなく、アプリケーション ウィンドウ単位でのユーザー セッションの接続を可能にするテクノロジです。ユーザーは、管理者がサーバー側で RemoteApp 用に公開したアプリケーション (RemoteApp プログラム) を、TS Web アクセス (Windows Server 2008 R2 以降は RD Web アクセス) ポータルから開始することができます。Windows 7 と Windows Server 2008 R2 リモート デスクトップ サービスの組み合わせでは、[RemoteApp とデスクトップ接続]というフィード機能を使用して、アプリケーションのショートカットを[スタート]メニューに統合することができます。RemoteApp プログラムには、RDP (リモート デスクトップ プロトコル) 6.1 以降に対応したリモート デスクトップ接続クライアント (Mstsc.exe) から接続することができます。Windows XP SP2 以降 (RDP 6.1 または 7.0)、Windows Vista SP1 以降 (RDP 6.1 または 7.0)、Windows 7 (RDP 7.0) から RemoteApp プログラムを利用することができます。
さて、RemoteApp は本来、Windows Server 2008 のターミナル サービスおよび Windows Server 2008 R2 のリモート デスクトップ サービスが提供するサービスです。このテクノロジが Windows Virtual PC の仮想アプリケーション モードで利用されているというのはどういうことなのでしょうか。その答えは、仮想アプリケーション モードを利用可能にする、仮想マシンのゲスト OS 向けの更新プログラムの名称からわかります。Windows XP Professional SP3 または Windows Vista Enterprise/Ultimate SP1 ゲストで仮想アプリケーション モードを利用可能にするためには、Windows Virtual PC の統合コンポーネントに加えて、以下の更新プログラムを適用する必要があります。
KB961741: RemoteApp(tm) を有効にするための Windows(r) Vista SP1 以降用の更新プログラム
KB961742: RemoteApp(tm) を有効にするための Windows(r) XP SP3 用の更新プログラム
そうです。これらの更新プログラムを適用することで、Windows XP SP3 と Windows Vista SP1 以降のリモート デスクトップ接続は、RemoteApp をサポートするように機能拡張されるのです (ただし、シングル ユーザー セッションのみ) 。Windows 7 Enterprise および Ultimate は、更新プログラムなしで RemoteApp を最初からサポートしています。Windows Vista Business および Windows 7 Professional で仮想アプリケーション モードが利用できないのは、RemoteApp のサポートが提供されないことが理由です (KB961741 は Windows Vista Enterprise および Ultimate 専用です)。 そして、Windows 7 Professional、Enterprise、Ultimate ユーザーに提供される Windows XP Mode は、Windows XP Professional SP3 ゲストに KB961742 が適用済みの状態になっています。
写真やテレビ映像で、真っ青な背景で人物を撮影し、他の背景と合成するという場面を見たことがあるでしょう。この昔ながらの合成技術は、ブルーバック合成やクロマキー合成というらしいです。
右のスクリーンショットを見てください。これは、Windows XP Mode のゲスト上にインストールされた Word 2003 を仮想アプリケーション モードで実行し、その状態で同じくゲスト上にインストールされた VNC Server に対して VNC Viewer で接続したときの様子です。仮想アプリケーションはすぐに強制終了されますが、一瞬だけ、青い背景に Word 2003 と IME だけが表示されたデスクトップが表示されます。なんだか、ブルーバック合成やクロマキー合成に似ていませんか?
面白いので紹介しましたが、実は、クロマキー合成と RemoteApp はまったく関係ありません (おそらく)。背景に画像が設定しれあれば、青い背景ではなく、画像が表示されます。注目していただきたいのは、RemoteApp でアプリケーションを実行中は、Windows シェルが動作していないという点です。
RemoteApp では、Windows シェル (Explorer.exe) の代わりに RemoteApp 専用のシェル Rdpshell.exe が使用されます。Rdpshell.exe は Explorer.exe より軽量なので、ユーザー セッションが消費するリソースをちょっとだけ節約できるというメリットがあります。レガシー アプリケーションをエンド ユーザーに提供するために、デスクトップ全体を表示するよりも、RemoteApp でウィンドウ単位で表示したほうが、エンド ユーザーは複数のデスクトップを切り替えて操作する必要がなく、 混乱が少ないでしょう。また、デスクトップ全体を表示するよりも、リソースが少なくて済むので、ホスト OS のパフォーマンスへの影響も低減できます。
RemoteApp テクノロジを利用したアプリケーション提供は、Windows Vistual PC だけでなく、VDI (仮想デスクトップ インフラストラクチャ) にも応用できます。Windows Virtual PC の場合は、Explorer.exe が Rdpshell.exe になることによるリソースの節約はほんのわずかですが、大量の仮想デスクトップを展開する VDI では大きな意味を持ちます。
次回は、仮想アプリケーション モードが RemoteApp であるということを、実体験してもらいます。