質問

いくつかの UNIX 開発サーバーに接続するために、Windows XP を実行しているラップトップに Xming X Window Server をインストールしています。

オフィス内の社内ネットワークに直接接続すると問題なく動作します。ただし、VPN 経由でリモートからネットワークに接続すると機能しません。

リモート接続時に Xming を起動すると、端末 Windows がまったく表示されません。

接続時にラップトップの IP アドレスに DISPLAY 環境変数が正しく設定されていないことが関係しているのではないかと思います。

リモート接続中に ipconfig を実行すると、ラップトップに 2 つの IP アドレスがあることに気付きました。1 つは会社のネットワークから割り当てられ、もう 1 つは会社のネットワークから「ローカル ネットワーク」に設定したローカル IP アドレスです。モデム/ルーター。

VPN 経由での使用をサポートするには、Xming で設定を変更する必要がありますか?

役に立ちましたか?

解決

おそらく、それは X 認証、インターフェイスにバインドされている X サーバー、または DISPLAY 変数のいずれかです。私自身は Xming を使用しませんが、チェックすべき一般的な現象がいくつかあります。DISPLAY 変数が正しいことを手動で確認するために実行できるテストの 1 つは次のとおりです。

  1. VPN を開始します。ipconfig を実行して、前述の 2 つの IP アドレス (ローカル IP と VPN IP) があることを確認します。
  2. Xmingを起動します。「netstat -n」を実行して、インターフェイスにどのようにバインドされているかを確認します。localIP:6000 または VPNIP:6000 というメッセージが表示されるはずです。6000にはならないかも知れませんが、おそらくそのくらいになるでしょう。VPNIP:6000 がない場合は、localIP または 127.0.0.1 にのみバインドされている可能性があります。おそらく VPN 経由では機能しないでしょう。他のインターフェイスまたはすべてのインターフェイスにバインドするための Xming 設定があるかどうかを確認してください。
  3. VPNIP:6000 などのメッセージが表示された場合は、その内容をメモし、UNIX ホストにリモート シェルを実行します (テキスト ターミナルを取得するために必要なものでなければ、ssh のようなものが望ましい)。
  4. UNIX 端末で「echo $DISPLAY」と入力します。何も表示されない場合は、「export DISPLAY=VPNIP:0.0」を試してください。VPNIP は VPN IP アドレス、0.0 は手順 3 で確認したポートから 6000 を引いたもので、最後に .0 が付きます (つまり、6000 = 0.0、6010 = 10.0)。
  5. UNIX ホスト上で「xクロック」または「xterm」などを実行して、実行されるかどうかを確認します。エラー メッセージは有益な情報であるはずです。ホストに接続できなかったか (接続の問題)、認証に失敗したことが通知されます (ホストとローカル マシンの Xauth、またはローカル マシンの Xhosts を調整する必要があります)。

ローカルに保護されたネットワークがあり、VPN を経由している場合は、Xhosts (すべてのホストの + またはそれに類似したもの) を開くことはそれほど悪くありません。これにより、問題の追跡が開始されることを願っています。VPN または単純な ssh 接続を介して機能するため、多くの場合役立つもう 1 つのオプションは、ssh トンネリングまたは ssh を介した X11 転送です。これは、UNIX ホスト上のポートを X サーバー ボックス上のローカル ポートにリダイレクトすることにより、ローカル ボックス上の X サーバーへの接続をシミュレートします。通常、ローカル 6010 ポートの表示は localhost:10.0 のようになります。

X はセットアップが面倒ですが、コツを掴めば通常はうまく機能します。

他のヒント

@Stephen と @Greg Castle の助けに感謝します。それを使用して、問題を解決することができました。

他の人に(最初から)基本的なガイドを提供するには:

Windows PC で Xwindows を使用して VPN 経由で UNIX サーバーに接続する

まず始める必要があるもの:

何をするか:

  1. 上記の両方を Windows PC にインストールします

  2. Windows のスタート メニューから次を選択します。プログラム -> Xming -> Xming

  3. ダウンロードした場所で Putty.exe プログラムを実行します。

  4. PuTTY 構成画面で次の操作を実行します。

    • IP アドレスを UNIX サーバーの IP アドレスに設定します。

    • 「SSH プロトコル」ラジオボタンを選択します。

    • SSH をクリックします。設定画面の左側のペインのトンネル カテゴリ

    • 「X11 転送を有効にする」チェックボックスをクリックします。

    • 「開く」ボタンをクリックします

    • 通常どおり UNIX サーバーにログオンします

    • X Windows ユーティリティを含むディレクトリがパス内にあることを確認してください。Solaris の /usr/X/bin

    • パテ ウィンドウで X Windows コマンドを実行すると、デスクトップ上に新しいウィンドウが生成されます。

PuTTY 設定を置き換えることで、Xming と PuTTY が Cisco VPN で動作するようになりました。 Connection > SSH > X11 > X display location, localhost:0.0, 、 と VPNIP:0.0. VPNIP で見ることができます VPN statistics client address information を左クリックして、 VPN client ロックアイコンを選択してください Statistics....

リモート ホストの DISPLAY 環境変数はいじりませんでした。ただし、他の人たちと同様に、リモート ホストの sshd_config を変更し、次の行を追加しました。

X11Forwarding yes
X11DisplayOffset 10
X11UseLocalhost yes
AddressFamily inet

Xming に関しては問題しかありませんでした。動作させることができたときは、非常に遅かったです (これは VPN 経由です)。IMO X は、おしゃべりが多すぎる低速接続で実行するように設計されていません。ここで言う遅い接続とは、LAN 接続以外の接続を意味します。

私の解決策は、x11vnc を使用することでした。VNC を介して既存の X11 セッションにアクセスできるようになります。VPN 経由でボックスに ssh 接続して、以下を起動するだけです。

$ x11vnc -display :0

そうすれば、その日中に開いていたものすべてにアクセスできるようになります。そうしないときは、ただ終了します(Ctrl-C) ターミナルで x11vnc を閉じます。

Windows 10マシン上のXmingとPuttyで同じ問題が発生し、解決策を見つけました ここ. 。追加するだけで問題を克服しました トンネル PuTTY のセッションに移行します。ただし、最初に確認する必要があります。

  • sshd_config /etc/ssh の下 (rhel7 の場合)。
  • X11 転送を有効にする 左側のナビゲーションペインで Connections > SSH > X11
  • iptables /etc/sysconfig/ の下 (rhel7 の場合)。ポートがブロックされており、許可がある場合は、6000 のポートを開きます。6000 から 6003 までのポートを開くために、最初の拒否行の前に以下の行を追加しました。あなたの場合はより具体的なものになるかもしれません。

    -A INPUT -m state --state NEW -m tcp -p tcp -m multiport --dports 5901:5903,6000:6003 -j ACCEPT

それから;

  • に行く Connections > SSH > Tunnels PuTTY でトンネルを追加します Source Port=6000, Destination=127.0.0.1:6000 そしてチェックしてください Remote ラジオボタン。次に、 Add ボタン。
  • SSH 接続が確立したら、以下のコマンドを使用して DISPLAY 変数を手動で設定します。
    export DISPLAY=127.0.0.1:0.0

詳しくは;
設定した場合 DISPLAY 変数として 127.0.0.1:1.0, 6001 ポート経由で通信します。この場合、ポート番号 6001 に別のトンネルを追加する必要があります。

正確な問題はありませんが、xhost を調べて、vpn リモートが x サーバーにデータを送信できることを確認する必要があると思います。

このリンクが役立つかもしれません:http://www.straightrunning.com/XmingNotes/trouble.php

こうすることで運が良くなるかもしれません X11 転送 DISPLAY 変数を直接いじるのではなく、SSH を介して実行します。SSH を使用した X11 転送は安全であり、既存の SSH 接続をトンネルに使用するため、VPN 経由での作業は問題ありません。

幸いなことに、これは Xming を使用すると非常に簡単です。Xming 内から接続を開いた場合 (例:plink オプション) デフォルトで X11 転送が設定されていると思います。別の SSH クライアント (例:PuTTY) の場合は、X11 転送を有効にするだけです (例:'ssh -X user@host')。PuTTY では、このオプションは [接続] -> [SSH] -> [X11] の下にあり、[X11 転送を有効にする] をクリックします。

Xming がラップトップのバックグラウンドで実行されていることを確認し、標準の X テスト「xクロック」を実行してください。「localhostへのx接続:19.0の壊れた」などのメッセージが表示された場合(明示的なキルまたはサーバーシャ​​ットダウン)。」その後、Xmingは実行されていない可能性が高いです。

また、起動スクリプトで DISPLAY 変数を明示的に設定していないことを確認してください。SSH は、X11 トンネルのエイリアス (localhost:10、または上記の例では localhost:19 など) を設定し、DISPLAY をその値に自動的に設定します。DISPLAY を上書きすると、正しい X11 トンネルを指さなくなることは明らかです。これの裏返しとして、SSH X11 転送が設定されていない他の端末は同じ DISPLAY 値を使用してトンネルを利用できるということです。

私は PuTTY オプションを好む傾向がありますが、同僚の何人かは Xming 内から plink を使用しています。

putty + XMing - 動作させるには DISPLAY 環境変数を手動で設定する必要がありました (同時に putty - Connection/SSH/X11 で「X11 転送を有効にする」をチェックする必要がありました)

エクスポート DISPLAY=0:10.0

(「localhost:10.0」に設定されていましたが、機能しませんでした)

Linux マシンの DNS 名と IP アドレスを C:\Program Files\xming\X0.hosts ファイルに追加する必要があります。ファイルには以下が含まれている必要があります:

LinuxBox.mydomain.com
LinuxBox
192.168.1.25

これが正しい答えです: https://www.slackwiki.com/X_Windows:_Remote_X_to_Windows_with_Xming

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top