Cygwin XサーバーでWindowsを実行しているラップトップがあります。このコンピュータには、VMWareで実行される仮想Linuxボックスがあります。
VMからエクスポートDISPLAY = xserver:0を設定し、cygwinシェルでxhost + xclientを実行します。ホスト名またはIPv4アドレスを使用できます。これで、ディスプレイをリダイレクトしてXプログラム(主にemacs / xterm)を実行できます。今まではそんなに良くなった。
また、AWSに接続するにはAWS VPNクライアントを使用する必要があります(クライアントは悪いですが動作します)。 Windows ラップトップで実行されますが、仮想マシンでも選択されます。これで、すべてのシステムでAWSと通信できます。今まではそんなに良くなった。
ただし、LinuxシステムでXプログラムを実行しようとすると、そのプログラムに対する認証は拒否されます。 「認証が必要ですが、認証プロトコルが指定されていません」というエラーが発生しました。 IPアドレスやサーバー名を追加しても構いません。同じエラーが発生します。 IPアドレスは変更されていません(Wiresharkを使用して確認しました)。
認証を無効にするためにxhost +を実行すると接続できますが、これは確かに非常に安全ではないため、そうしたくありません。
xauthウサギの穴を試しましたが、上記のエラーはInvalid MIT-MAGIC-COOKIE-1エラーに置き換えられました。
何が起こったのかご存知ですか?
答え1
答えは走っているようです。
ホスト+IPアドレス
X11サーバーをホストしているコンピュータへの外部インターフェイスのIP。 VPNクライアントは何らかの方法でX11要求を独自にリダイレクトしているようです。奇妙だがうまくいくようです。
答え2
まあ。
ただし、LinuxシステムでXプログラムを実行しようとすると、そのプログラムに対する認証は拒否されます。
おそらくこれ後ろにLinuxシステム(= VM)で「DISPLAY = xserver:0」を実行します。この場合、すべてのxclientはxserver:6000への新しい接続を開こうとします。これはまた、現在のLinuxシステムにSSHセッションがあることを意味します。 sshにはXを処理するメカニズムが組み込まれています。
これがあなたの環境でどのように機能するかわかりません。作業するCygwinのバージョンがないか、SSHクライアントを使用していると言っていませんでした。この組み合わせのどこかに欠けているものがあるかもしれません。まず、SSHクライアントのドキュメントを読んでください - IIRC with putty、接続する前に設定に明示的にフラグを設定する必要があります。この問題を解決できない場合は、Mobaxtermのコピーをダウンロードしてsshセッションを介してxclientを実行してみてください(再度、DISPLAYを設定する必要はありません)。