WindowsCEマシンでターミナルサービスを利用すると、PC側のフル機能を利用できます。電脳小箱のレビューで「あの機能がない」「この機能がない」という不満は無意味になります!?
Handheld PC2000マシンをお持ちの方は、スタートメニューからたどると「Terminal Server Client」という(使ったことのない)機能が入っているのをご存知だと思います。
WindowsXP Professionalを買われた方は、Windows XP Home Editonと異なり、「リモートデスクトップ」という機能が使えることをご存知かと思います。
しかし、この機能を個人で実際に使っている方はどれくらいおられるのでしょうか。この機能は電脳小箱好きにはとても面白いにもかかわらず、なかなか利用者が少ないのが実態ではないでしょうか。
でも、電脳小箱使いとしては、これは押さえておくと面白い機能です。小箱好きでなくとも、家庭内LANを組んで複数PCを持っている場合には、なかなか使える機能なのだと思います。
ターミナルサービスクライアントさえ動けば、「このマシンでは・・・というソフトが動かないから、あっちのマシンの方が良い」「このマシンはマシンパワーがないので・・・というソフトはあきらめる」などということが無意味になるからです。・・・えっ、ホント!?
「WindowsCE2.11Pro3マシンでウェブブラウズなんて使えない」・・・本当にそうでしょうか。確かに、PocketIEでは、ZaurusのSharp PDA BrowserやPocketPC2002のIEに遠く及びません。というか比較にもなりません。しかし、現実に、初代sigmarionでIE6をスカスカ動かせています。
ターミナルサービスクライアントはWindows CE 2.11Pro3マシンでも動きます。だから、Windows2000ServerやWindowsXP Professional上で動作するソフトはWindows CE 2.11Pro3マシンで動く、というわけです。
実際、sigmarionでBecky!を動かして、メールチェックをしたり、IE6をスカスカ動かしてウェブブラウズできています。
使い慣れたメーラーを使えるのです。しかも、シンクロとかメールボックスの同期とかメールサーバー上で保存や削除して使い回しとか転送などは不要です。いつも使っているPCのBecky!の環境、メールボックス、過去の送受信メールがそのまま使えるのです。
sigmarionII内蔵のIE4と、ターミナルサービス経由のIE6を切換えながら使い比べてみると、内蔵のIE4がいかに遅いか痛感します。よくこんなものを使っていたと思うほどです。
この技術はいったいなんなんでしょう、いつの間にWindowsにこのような機能が追加されたのでしょうか。
もともと、これは、米Citrix Systems, Inc.がWindows NT 3.51にマルチユーザー機能を付加するために開発したWinFrameにはじまります。Citrix Systems社はMicrosoft社からNT 3.51のソースコードのライセンスを取得して開発しています。つまりマルチユーザー化したWindows NT 3.51なのです。しかし、WinFrameの日本語化バージョンは出ていません。
1997年5月に、Microsoft社とCitrix Systems社で、NT4.0やNT5.0(後のWindows2000)のマルチユーザー化に関して、共同で開発していくことを合意しました。その成果がWindowsNT4.0TerminalServerEditionです。Windows NT Server 4.0+SP3をコードベースとして、カーネルから変更を加えたOSで、「WTS」や「WindowsNT4.0TSE」「TSE」などと呼ばれます。Citrix社の方は、Microsoft社のOSにマルチユーザーNT技術を提供する一方、WindowsNT4.0TSEのアドオンパッケージ型の製品「MetaFrame」を開発しました。MetaFrameでは、TSE単体の機能に加え、ICA(Independent Computing Architecture)というプロトコルが利用可能になり、トランスポートでTCP/IP以外にIPX/SPX、NetBEUIなどのプロトコルが使え、クライアントにWin32マシン以外のMacやUNIXマシンやWindows3.1マシンやDOSマシンやOS/2マシンやJavaマシンを使えるようになる他に、ローカルデバイスのサポートなど、様々な追加機能が実現されます。
WindowsNT4.0の次のバージョンのNT5.0は、Windows2000ServerFamilyとなり、このときに、ターミナルサービス機能は従来の別エディションの形ではなく、標準で組み込まれました。Windows2000Serverさえ買えば、別途ソフトを必要とせずにターミナルサービスが使えます。Citrix Systems社のMetaFrameを買えば、さらに自由度の高いサーバーベースコンピューティングが構築可能になる、というわけです。
そして、MetaFrame XPでは、サーバーで設定しておいた公開アプリケーションを「シームレスウインドウ」で利用できます。ユーザーは、サイズ変更や最小化など、クライアントプラットホームの標準的なウインドウ操作をICAセッションウインドウに対して実行できます。
こうなると、クライアントにソフトを全くインストールしていなくても、ローカルにインストールしたソフトを使うがごとくMetaFrame XPサーバー上のソフトを動かし、結果をローカルのディスクに保存したりローカルのプリンタに普通に出力できるわけです。これは、よくあるような技術的には可能だが速度が遅くて使い物にならないものではなく、実際に使えるものに仕上がっています。
MetaFrameはしかし、一番安い構成でも98万5千円します。
そういう意味では、MetaFrameは個人で買うような価格設定ではないと思います。ところが、Windows2000Serverなら20万円程度でしょうし、WindowsXP Professionalなら3万円程度ではないかと思います。MetaFrameの付加機能は利用できなくても、ターミナルサービスの基本機能は利用可能なのです。
Windows2000Serverのターミナルサービスや、さらにMetaFrameを導入した環境は、低速回線でも動くのが長所です。
4Kbpsから6Kbps程度あれば、とりあえず動きます。10Kbps-20Kbpsもあれば特に不満もなく画面展開して使えます。64Kbpsもあれば数台のクライアントをその回線下にぶらさげて基幹業務に使うことも可能です。
そう言うと、えっ、嘘!と思うかもしれません。たとえば、WinVNCというフリーのリモートソフトを利用したことのある方なら、LAN上で動かしても実用的な速度とはいいがたいことをご存知なはずです。
Windows3.1時代などの、古くからの定番のWindowsリモート操作ソフト製品pcAnywhereを触ったことのある方も多いと思いますが、リモートで操作するのと、普通にローカルにPCを操作するのは、明らかに違うものだと分かるでしょう。
でも実際問題、ターミナルサービスやMetaFrameは低速回線でも実用的に動作します。たとえばBecky!でスペースバーをポンポン押して受信メールを読むときに、LAN上でもWinVNCではイライラしてとても毎日使う気になれないのに、ターミナルサービスではローカルかリモートかはあまり意識せずに使えます。
むろん、全く同一というわけではなく、まるでWindows95の頃に、アクティブデスクトップにしたら遅くなったときのような、反応が遅れる感触がはっきりあります。それでも他のリモート管理ソフトより速いのは間違いありません。
リモート管理ソフトも、ターミナルサービスほどでなくても、リモコン倶楽部あたりは比較的高速と聞きますので、そちらも面白いかもしれません。
ターミナルサービス(MetaFrame)の長所である「低速回線で使える」理由は、一つはプロトコルによるものです。電子会議システムITU-T.120にも準拠したRDP(RemoteDesktopProtocol)というプロトコルの機能は、CitrixのICAのWindows限定版のようなもので、TCP/IP上で動作し、クライアント側からはキーストロークとマウスクリック情報を受け取り、サーバー側からは処理結果となる画面情報のうち、変更された部分のみを圧縮して送信します。
低帯域で高速に動作するプロトコルであるため、4Kbps-20Kbpsで動作可能です。
先ほどWinVNCがひどく遅く、ターミナルサービスだとスカスカ動くと書きましたが、これにはもちろん理由があり、Windows上のアプリケーションソフトでは通常「画面情報の変更された部分のみ」を判定できないからです。OSに一体化して(こう書くとなんか他の話みたいでイヤな印象を持つかもしれませんが)開発したため、このような高速化が可能になっているわけです。むろん他にも、圧縮や、クライアント側でのキャッシュ、フレームサイズの改善等々の積み重ねで、平均4K-10Kbpsの帯域でも利用可能というスペックが出ているのでしょう。
WinVNCやpcAnywhereはホスト側で実際に表示している画面をキャプチャーし、それを送るわけですが、ターミナルサービスでは、クライアント側で動作させたソフトはサーバー側のセッションで実行され、実際にサーバーの画面にクライアントの操作が表示されているわけではありません。
WinFrameやターミナルサービスは、元々「サーバーベースコンピューティング」というソリューションのためのものでした。
業務でのクライアント/サーバーシステムは、実はクライアントの管理コストが馬鹿にならないのです。クライアントのソフトのバージョンの違いで、様々な問題が発生したりします。サーバーベースコンピューティングでは、サーバー集中管理方式のため、TCO(Total Cost of Ownership)の削減がはかれるため、WinFrameの頃から企業での導入実績があります。
また、Windowsサーバーを利用する単機能端末「シンクライアント」という方向もあります。UNIXでいうX端末やJavaのNCのような低スペックハードウェアの端末です。
Windows CE .NETでも、非PC端末とWindowsサーバーという組み合わせが構想されています。クライアントがフル機能のPCでなくても良いというのは様々な展開が考えられます。
WindowsXPのリモートデスクトップやリモートアシスタンスの機能もターミナルサービスの技術の応用です。
こうして説明すると、ターミナルサービスは素晴らしいもののように聞こえますが、Windows以外のOSでは元々当たり前の機能なのです。
WindowsNTは業務用サーバーとして不安定であるだけでなく、こういった基本機能が弱いOSでした。少なくとも、Citrix Systems社の技術をMicrosoft社が手に入れるまでは。
UNIXではすでにX Window Systemで同様の、いやそれ以上に汎用的な機能を持ったシステムがあり、汎用コンピュータやオフコンではそもそもそういう使い方を前提にハード・ソフトが用意されています。
しかし、オフコンを個人で購入する人はまれでしょうし、UNIXのX Window System上でソフトを開発して運用できる個人もそれほど多いとも思えません。
ターミナルサービスは、現実に広く普及してしまっている、WindowsNT4.0/2000/XP上のソフトウェア、開発ツール、対応ハードウェアを利用できるという点で、メリットがあります。
大体、ハードウェアの値段が違います。PCは実に安いです。
実はLinux上でX Window Systemを動かし、VMwareを動作させる、という方法で、ターミナルサービスと同様のことができるのですが、それなりのスピードで動作させるためのサーバーの環境設定も必要ですし、そもそもクライアントでX Window Systemを動作させるのが前提になります。設定に苦労しても、エミュレーションで実用的な速度を得られる保証はありません。
Windowsアプリケーションに慣れ親しんでいるユーザー、UNIXスキルがとりたてて高いわけでもない個人ユーザーにはうってつけだと思います。
Windows2000ServerFamilyでは、ターミナルサービスが標準で利用できるようになり、そういう意味ではタダになりましたし、セットアップ時にリモート管理モードを選択してターミナルサービスを構築すれば、ターミナルサーバーへの接続ライセンスが2セッション分だけ含まれているので、TS-CAL(ターミナルサービス クライアントアクセスライセンス)とNT-CAL(Windows2000Server クライアントアクセスライセンス)を別途購入する必要がありません。
ところがこれでは、複数クライアントでの業務システム構築などはできませんから、そういう用途の場合はアプリケーションサーバーモードを選んでセットアップする必要があります。単に、サーバーをリモート操作してみるだけなら、リモート管理モードで十分です。個人で遊ぶだけなら、リモート管理モードがおすすめです。
2セッションだけといっても、コンソールで時間のかかる作業を流しながら、クライアントから入って全画面表示が必要なアプリケーションを動作させたり、逆にゲームや動画を楽しんでいる最中にちょっとメールをチェックしたりといった使い方は重宝します。
家庭内LANで何台ものPCをクライアントにして同時接続したい場合は、アプリケーションサーバーモードになってしまいますが。
ちなみに、アプリケーションサーバーモードの場合、TS-CALを買わなくても、すぐにターミナルサービスが使えるようになるのですけれど、これは90日限定の一時ライセンスですから、90日以内にTS-CALを別途購入しないといけません。TS-CALを買うと、そのライセンス分だけ、NT-CALも付いてきます。値段は、5ライセンスで十数万円程度かと思います。
クライアントがWindows2000Professionalなら、実はTS-CALを別途買う必要がありません。Windows2000ProfessionalにTS-CALが含まれているのです。ターミナルサービスライセンスマネージャの表示で言うと、「既存のWindows2000ライセンス」のところに登録されます。95/98/98SE/Meなどは「一時ライセンス」に登録されます。WindowsCEのH/PC2000も「一時ライセンス」に登録されます。
ライセンスのインストールを行なうと、インストール後のアクセス順で「一時ライセンス」から正規のライセンスへと自動登録されてしまい、変更はできません。うっかりテストマシンでアクセスするとターゲットマシンはライセンスが足りなくなります。変更は一切不可能なので、ライセンスサーバーをアンインストールして全てのクライアントのレジストリキーを消去してやり直すしかありません。もしくはマイクロソフト社に個別対処を迫るかです。
TS-CALのインストールは面倒で、ライセンスサーバーをインストールしてから、20桁のプロダクトIDをターミナルサービスWebサイトに入れて出てきた35桁のライセンスサーバIDを入れてライセンスサーバーをアクティブ化して、ターミナルサービスWebサイトに接続して35桁のライセンスサーバIDと25桁のライセンスコードを入れて、やっと出てきた35桁のライセンスキーパックIDを入れてようやくインストール終了となります。
Windows2000ServerのターミナルサービスはWindowsNT4.0TSEに比べて、クライアントからの使い勝手は上がっています。同一クライアントから複数ログオンできるからLinuxの仮想コンソールなみにポンポン切り替えてサーバー利用できるし、回線が切れてもセッションを保持できて再接続すればそのまま続きができてユーザーデータが失われないし、リモート/ローカルのクリップボード連係もできます。
それにしてもアプリケーションサーバーモードは面倒です。
堅い認証手続きは、クライアントアクセスライセンスの料金収受を支えるためと思われます。バージョン毎の売り切りでなく、安定して継続収入を目指すには、メーカー側としては望ましいビジネスモデルに見えているのかもしれません。
ユーザーの利便を考えたものでないことは確かです。
Windows2000Serverに比べれば、Windows XP Professionalのアクティベーションは手間いらずです。
Windows2000Serverは約20万円と個人で買うにはちょっと高いですが、Windows XP Profesionalは3万円程度と、個人向けの値段です。
そして、「リモートデスクトップ」という機能がWindows XP Professionalでは使えます。残念ながら、プリインストールマシンで主流のWindows XP Home Editonにはありません。
Windows2000Serverのターミナルサービスと比較すると、256色だった画面がHigh Colorをサポートしたり、クライアント側でWAVE再生が可能になるなどの機能強化もされています。もちろん、低速回線では転送データ量が増えるこれらの機能を使わない方が現実的な運用です。LAN上など、高速に接続された環境で活きてきます。
XPでの具体的な設定は、システムのプロパティでリモートタブを選び、「このコンピュータにユーザーがリモートで接続することを許可する」にチェックを入れるだけです。
これで、AdministratorグループのユーザーならクライアントからXPの全機能を利用できます。パスワードは必ず設定する必要があります。
リモートデスクトップはほとんどターミナルサービスそのもので、クライアントソフトも相互に利用可能です。ただし、大きな違いとして、複数クライアントから接続してサーバーを同時利用できないという制限があります。
このため、Windows2000Serverのターミナルサービスでは接続して画面が出るまで10秒ちょっとだったのに、リモートデスクトップでは、まずそれまでログオンしていたユーザーのセッションを保持して一度切断してから新しいクライアントのログオン処理をするため、数十秒から1分程度の時間がかかります。
つまりそれまで使っていたWindows XP Professionalの画面は「ユーザー名をクリックしてください」というログオン画面に蹴り出されてしまいます。
これでは、サーバー側のコンソールで時間のかかる作業を流しながら、クライアントから入って全画面表示が必要なアプリケーションソフトを使う、というようなこともできないわけです。
Windows2000Serverと比べだいぶ使い勝手が落ちますが、あくまでサーバーOSではなく、1マシンを排他的に利用する前提なのでしょう。確かにこれならクライアントアクセスライセンスの料金収受に頭を悩ます必要はなさそうです。まあ、値段を考えればしかたないところかもしれませんが、技術的な制約でなく、ライセンスと料金収受の関係でわざわざそのような制約を付け加えているわけでしょう。
Windows XP Professionalのリモートデスクトップは制限もありますが、利用価値もなかなかのものです。ヘルプや雑誌などの説明で、職場のXP Proに自宅からつなげて仕事の続きのような話がありますが、あまり魅力を感じない話ですし、職場のサーバーのセキュリティーや資産管理の面からも問題のように思います。
正直逆だと思います。
Windows XP Professionalを自宅のPCにインストールしておき、自宅が常時接続になっていれば、職場や学校、あるいは出先から、ターミナルサービスクライアントやリモートデスクトップ接続で、自宅のグローバルIPを指定してつなげば、自宅のPCのフル機能が利用できます。自宅のPCのメールの環境がそのまま使え、ブラウザのブックマークもそのまま使え、(もしあれば)豊潤なストレージも使い放題です。(家のPCにならあのソフトやデータがあるのに)といった悔しい思いをせずに済みます。
自宅が常時接続なのは、今では決して珍しい話ではないでしょう。残念ながら、グローバルIPアドレスを固定せずにプロバイダの都合で勝手に変えたりする場合は、必ず繋がるとは言えませんし、グローバルIPアドレスを付与しない接続サービスを利用していると、簡単にはいきません。しかしこの部分をクリアできれば、自宅のPCの環境そのままを持ち歩きしているのに等しいことになるのです。
自宅内のルーターなどでIPマスカレードやフィルタリングしている場合は、ポート3389(tcp/udp MS WBT Server)を通す設定にすれば良いだけです。
戸外でも、PHSによるデータ接続は安価なプランが広まりはじめています。ターミナルサービスは低速回線でも使えるのです。
クライアントがWindows95以降のPCなら、キャッシュを利用して低速回線でも全く問題ありません。経験上、32Kbpsで完全に実用的にメーラーやブラウザを利用できます。(Air-H"使い放題プランが実効速度32Kbps出ているかどうかは別として)
もちろん、たとえば、動画になるとちょっと無理です。ノートPCから無線LANでターミナルサーバーにつなげていても、たとえば、「ヴェドゴニア」というゲームで戦闘シーンをまともに戦って勝つのは至難の技になります。
それでもLAN上なら、カクカクしながらも動画を閲覧できます。コマの書き換えが見える速度なので、映画を鑑賞というわけにはいきませんが。
PCをクライアントにする場合、必要リソースは、
\SUPPORT\TOOLS\MSRDPCLI.EXEがWin32(Intel)用のクライアントソフト「リモートデスクトップ接続」で、Windows2000Server用のターミナルサービスクライアントより、けっこう便利になっています。
\VALUEADD\MSFT\MGMT\MSTSC_HPC\HPCRDP.EXEにもWindowsCE用クライアントが入っています。これが、Windows XP Professionalのリモートデスクトップ用WindowsCEクライアントということになっています。
本ページをご覧になった方から、リモートデスクトップが繋がらなくて悩んでおられる旨メールを頂きました。
リモートデスクトップのような技術は、体験するのが一番です。ここでは、家庭内LAN上に複数のPCがある場合に、どのようにすればリモートデスクトップを試すことができるか、ごく簡単な手順に触れてみたいと思います。
まず、Windows XP Professionalのリモートデスクトップで説明した通り、システムのプロパティでリモートタブを選び、「このコンピュータにユーザーがリモートで接続することを許可する」にチェックを入れます。そして、このWindows XPマシンのIPアドレスを確認しておきます。
IPアドレスをDHCPサーバーから自動で取得したりして、自分で設定していない場合は、次のように確認できます。
[スタート]-[すべてのプログラム(P)]-[アクセサリ]-[コマンド プロンプト]で、コマンドプロンプトを出します。ここで、
ipconfig
とタイプして[Enter]を押すと、
たとえば、
のように、IPアドレスが表示されます。この例では、「192.168.0.2」です。Ethernet adapter ローカル エリア接続: Connection-specific DNS Suffix . : IP Address. . . . . . . . . . . . : 192.168.0.2 Subnet Mask . . . . . . . . . . . : 255.255.255.0 Default Gateway . . . . . . . . . : 192.168.0.1