技術系なぶろぐ
VMware Player上の仮想マシンからホストにリモートデスクトップ接続する
リモート天体撮影するということ
リモートデスクトップの話ですが、起源は天体写真のための環境のお話です。
うちの天体撮影はこんな環境でやってます。
右上の望遠鏡と、そこにつながる小型パソコン・ルータをベランダに設置します。望遠鏡というか赤道儀の制御や、カメラのコントロール、撮影データの取り込みするため、シリアルケーブルやUSBを繋ぐ小型パソコンを望遠鏡の近くに置く必要があります。あ、別に小型でなくてもいいですけどね?
で、その小型パソコン上でステラショット2を動かすわけですから当然、小型パソコンのGUIを操作する必要があります。どうするか?コンソール端末からリモートデスクトップ接続します。
RDP接続なわけですから、とーぜんLAN経由ですね。なんでこんなことするのか?望遠鏡はベランダに置かないといけません。ベランダは夏暑くて、冬寒いです。でもコンソール端末はネットワークさえつながれば、どこへ置いても問題ありません。コタツの上でも、エアコンが効いた室内でも。
天体観測の最大の難点は屋外で暑い!寒い!!虫がでる!!!と屋外だからこその居住性。それを屋内からできるようになるのです。
リモートデスクトップとステラショット2の問題
さて、ここで問題がひとつ。ステラショット2のバグというか制限事項です。
これが普通にステラショット2を起動した状態。何も問題はありません。正常な状態です。でこの状態にしたまま、リモートデスクトップを切断(ログオフではなく、RDPの「切断」)をして、再度RDPを接続します。
すると、
この通り、星図が表示されなくなります。赤道儀制御とか撮影は問題なく動くんですが、星図だけが消えてしまうという。
アストロアーツ社に確認したところ、不具合として認識はしてるんだけど、DirectXの不具合だそうで、そう簡単には直らない制限事項だそうです。
まぁ、MSが原因なら、当分は直らんわな・・・・
んじゃどーするか?RDPを切らなければいい!そりゃそーだわな
だけど、なんとかしたい。だってコンソール機を移動したり、ステラショットに自動撮影させて、その間はコンソール接続を切ったりしたいわけですよ。
じゃあ、どうする?
こうします。リモートデスクトップ接続を2段階にして、ステラショット2からすると、セッションが切れてないように見せかけるわけです。
仮想デスクトップはどうやるか?VMware Workstation Playerです。せっかくパソコンがあるんですから、そこにVMware Player入れて、Windowsを起動してやれば、踏み台用の仮想デスクトップができる。完璧!と考えたわけです。
が・・・・・・
VMware Player上の仮想デスクトップからホストにRDP接続する
ここで問題がでます。
こんな風に、ステラショット2と、VMware Player上でWindowsを起動します。マシンリソースの都合でWin7を使ってます。サポート切れ?そうですね?はい。
そして、仮想デスクトップにRDPで接続して、さらに仮想デスクトップからホストにRDP接続します。
すると、
こんなことになっちゃいます。分かりにくいでしょうけど、Koronaというのがホストマシン、Hikari が仮想デスクトップです。ちなみに、天文関連のマシンのホスト名はほかにOrihime、Sayaが居ます。天文関連マシンですからね、「見上げてごらん、夜空の星を。」から名前をもらってます。
どうなるかというと、仮想デスクトップからホストへのRDPが安定しません。仮想デスクトップも動作が異常に遅くなり、まともに操作できなくなります。
なぜなのか?どうやらRDPに原因があるようです。RDPのセッションが繋がった瞬間から動きがおかしくなります。また、VNCを使って同じことをしても問題が出ません。ホストマシン上で別ユーザでVMware Playerを起動した場合も問題は出ません。
さーてどうしたもんか。そうだ、Windows のサービスとして仮想マシンを起動したら?
というわけで、サービスとして登録して起動します。ポイントはsexeを使ってサービス登録すること、登録したサービスを Local Administrator 権限で起動すること。なんでかよく分かりませんが、Local System アカウントではうまく動きませんでした。
あと、Shutdown時の注意。仮想デスクトップにログインしてShutdownをしてから、ホストをSutdownすること。ホストShutdown時に仮想マシンもShutdownしてくれるといいんですが、どうやらPower Downをしちゃうようで、仮想マシンが壊れることがあります。