Linux マシンにインストールされた OpenGL アプリケーションを Windows マシンから実行するにはどうすればよいですか?
質問
役に立ちたいという気持ちで、これは私が抱えていて解決した問題なので、ここで質問に答えます。
問題
私は持っている:
Redhat または SuSE エンタープライズにインストールする必要があるアプリケーション。
膨大なシステム要件があり、OpenGL が必要です。
これは、1 台のマシン上で一緒に動作する必要がある一連のツールの一部です。
このアプリケーションは、工数の点で時間のかかるタスクに使用されます。
サーバー ルームに座ってこのアプリケーションを作業したくありません。
そこで、疑問が生じました...リモート Windows マシンからこのアプリケーションを実行するにはどうすればよいですか?
私の解決策の概要を説明します。代替案についてはお気軽にコメントください。このソリューションは、より単純な環境でも機能するはずです。私の場合はやや極端です。
解決
解決
2 つのソフトウェアをインストールしました。
XMing-mesa メサ部分が重要です。
PuTTY の構成
Connection->Seconds Between Keepalives: 30
Connection->Enable TCP Keepalives: Yes
Connection->SSH->X11->Enable X11 forwarding: Yes
Connection->SSH->X11->X display location: localhost:0:0
打ち上げ中
走る 興明 これにより、プロセスが開始され、システム トレイにアイコンが配置されます。上記の設定を使用して、Linux ボックスを指定して Putty を起動します。プログラムを実行する
うまくいけば、 成功!
他のヒント
OpenGL レンダリングをローカル マシンで実行したい場合は、Xming などの Windows X サーバーを使用するのが良い解決策です。ただし、ローカル マシンに画像だけを送信してリモート エンドでレンダリングを実行したい場合は、次のようなリモート OpenGL レンダリングを処理できる特殊な VNC システムが必要になります。 バーチャルGL.
VNCを使用することもできます(クロスプラットフォームリモートデスクトップなど)xはピクセルではなく描画コマンドのみを送信するため、より効率的ですが、OpenGLを使用している場合は、ほとんどのデータがレンダリングされた画像である可能性があります。
VNC のもう 1 つの大きな利点は、実行中のメイン プログラムを妨げることなく、サーバー上でプログラムをローカルに起動し、VNC で接続したり、接続を切断したり、別のマシンから再接続したりできることです。
OpenGL の場合、X サーバーを実行する方が明らかに優れたソリューションです。アプリケーションがネットワーク接続できるように開発されていることを確認してください。レンダリングにイミディエイト モードを使用すべきではなく、テクスチャはほとんど転送されません。
この場合、(VNC ではなく) X サーバーの方が優れたソリューションであるのはなぜですか?ワークステーションでは高速化が得られますが、VNC によるソリューションは通常、メインフレーム上では高速化されないからです。したがって、(頂点配列、頂点バッファ オブジェクト、テクスチャ オブジェクトなどを使用して) データが X サーバーにバッファリングされている限り、特に複雑なシーンの場合、VNC はシーンを分析、転送、デコードする必要があるため、VNC を使用するよりもはるかに高い速度が得られます。ピクセル。