1

コンテキスト: Java を使用して Windows ノード (クラウド上で生成) で GUI アプリケーション (例: mspaint) を起動し、RDP を使用して接続するときに、GUI アプリケーションが既に存在するようにするだけです。

問題: RDP を介してリモート Windows ノードに接続した後、そこに GUI アプリケーションが表示されません。Java プログラムが実際に GUI アプリケーションを開始したことを確認でき、それをタスク リストで確認できます。「サービス」セッションで開始されました。RDP に接続した後に同じ Java プログラムを実行すると、「RDP-Tcp#0」という名前のセッションで同じアプリケーションが開始されました。

従来の RDP クライアントを使用している場合は、接続したいセッションを選択するだけで済みますが、ここでは Guacamole という HTML5 RDP クライアントを使用しているため、制御できません。

Java プログラムは、Runtime.getRuntime().exec() API を使用して、GUI アプリケーションを起動する powershell スクリプトを実行します。

スクリプトを実行して別のセッションで GUI を表示する方法はありますか? これは、DISPLAY 環境変数を単にエクスポートする必要がある Linux では簡単です。

助けてください

4

1 に答える 1

1

まだ存在しない RDP セッションでプログラムを開始することはできません。作業したいものを取得するには、コードで実際に RDP 経由でログインし、プログラムを開始してから、ログオフせずにセッションを切断する必要があります。ただし、アイドル セッションがシステム リソースを消費するため、ターミナル サーバーの管理者はアイドル セッションのタイムアウトを設定する傾向があり、その後ユーザーは自動的にログアウトされます。

于 2013-07-31T17:25:17.293 に答える