使用している場合は、ssh -X
実行可能ファイルをローカルにコピーして実行するか、ホストシステムで実行します。 X11 転送と呼ばれるため、ウィンドウはマイ コンピュータに描画されますが、ホスト コンピュータで実行されているようです。
答え1
実行可能ファイルはリモートコンピュータで実行され、ローカルコンピュータに表示(描画)されます。それが行うのは、ssh -X remote
リモートコンピュータでプロキシX11サーバーを起動することだけです。echo $DISPLAY
リモートシステムでこれを行うと、同様の内容が表示されますlocalhost:21.0
。これは、リモートコンピュータで実行されているプログラムにID 21のX11サーバーに描画コマンドを送信するように指示します。次に、これらのコマンドをローカルコンピュータで実行されている実際のX11サーバーに渡して画面に描画します。この転送は暗号化されたSSH接続を介して行われるため、(簡単に)盗聴することはできません。
Windows、Mac OSなどとは異なり、X11は最初からリモートデスクトップなどを必要とせずにネットワーク経由でプログラムを実行できるように設計されています。しばらくの間、X11シンクライアントは大きな人気を集めました。デフォルトでは、X11サーバーのみを実行するシンプルなコンピューターです。すべてのプログラムは一部のアプリケーションサーバーで実行されます。
答え2
ローカルで実行されているXコンポーネント(render xコマンドなど)を除いて、アプリケーションはリモートで実行されます。各クライアントアプリケーションは通常、ローカルXサーバーを使用してUIを表示します。この場合、コマンドは暗号化されたSSHチャネルを介してリモートコンピュータからローカルコンピュータに送信され、表示されます。
答え3
しかし、設定は$DISPLAY
戦闘の半分に過ぎません。サーバー側でクライアントを認証できるように、新しい認証Cookieもssh
作成されます。とをxauth
参照してください。xauth list
~/.Xauthority
答え4
キーは、Xサーバーがユーザーにグラフィックを提供する単一のサーバーであり、グラフィックを必要とする他のすべてのプログラムはXクライアントでなければならず、サーバーに接続する必要があることに気づくことです。クライアントプログラムとXサーバ間のインタフェースは、最初からローカルコンピュータ上のプログラムだけでなく、リモートプログラムへの接続もサポートするように設計されています。
十分にクレイジーなネットワークでは、プログラムはどこでも実行でき、他の場所ではグラフィックを表示できます。