SSHホストからクライアントへのコマンドの実行

SSHホストからクライアントへのコマンドの実行

サーバー上で実行されるグラフィックPythonアプリケーションがあります。一部のユーザーはアプリケーションにローカルにアクセスしますが、一部のユーザーは-Xオプションが有効なSSHを介してアクセスします。

アプリケーションのオプションが有効になると、特定のWebスロットからブラウザを呼び出します。

os.system("firefox '{}'".format(url)

ブラウザはクライアントシステム上でグラフィカルに表示されますが、実際にはホストシステムのアプリケーションによって実行されるため、あまりにも多くのクライアントがシステムにアクセスすると処理量が多すぎるため、問題が発生します。

私の考えでは、アプリケーションがSSHセッションによって実行されていることを検出するたびに、ブラウザプロセスがホストシステムではなくクライアントシステムで作成されます。

可能ですか?良性ならどうしたらいいですか?

ベストアンサー1

Pythonアプリケーションを呼び出すURLではなく、URLを使用してシェルスクリプトを呼び出す必要があります。シェルスクリプトは、ホスト名、ログイン情報、環境などに基づいてローカルブラウザを起動する必要があるかどうかを決定します。ローカルブラウザがFirefoxをローカルで実行している場合は、クライアントにSSHを介して再度接続し、Firefoxコマンドを実行します。これを行うには、サーバーとクライアントの間にいくつかの作業と一種の信頼が必要です。そうでない場合、Pythonアプリケーションができる最善の方法は、リモートで実行されていることを検出し、ユーザーにURLをローカルブラウザに貼り付けるように指示するダイアログボックスを表示することです。

おすすめ記事