このスレッドが古いことは知っています...しかし、paulsm4の回答で誤解を招く何かを明確にしたかったのです...
X が逆です... X サーバーに接続していません。ローカル マシンでサーバーを実行します (彼がクライアントと呼んでいるものは、実際にはサーバーです)。X ライブラリがインストールされているリモート Nix ボックスに接続し、SSH コマンドに -X スイッチを追加すると、ssh は X 要求を転送して戻します。反対側 (Gnome、Chrome、PyCharm など) で実行されているプログラムが X クライアントになり、X サーバーを含むデスクトップにアップストリームされます。ここにシーケンス図があります:
User Remote
-----------------------------------------------------------------------
User Inits SSH -X Session -----------------> SSH Server Auth User
|
V
SSH Session is established <---------------- SSH User is Authenticated
|
V
User Initiates App on server --------------> App Starts Running
|
V
App Writes output to X Server
|
V
Xorg receives write commands <-------------- SSH Tunnels that back to User
|
V
Writing occurs on desktop
-----------------------------------------------------------------------
ほとんどの場合、X Server と X Client は同じです (ローカル デスクトップの場合と同様)。したがって、クライアントが X に書き込むと、ローカル X サーバーが画面に書き込みます。表示プロセスは実際にはユーザーのコンピューター上で行われ、どこにいてもあなたのコンピューターがサーバーになります。クレイジーですね。