web-dev-qa-db-ja.com

X11 sshを介した転送-ディスプレイに「:」が見つかりませんでした:1

Mac(Xquartzがインストールされている)からubuntuサーバーに接続しようとしています。 sshで-Yオプションを使用します。サーバーにSSHで接続し、xclockなどのグラフィカルアプリケーションを実行すると、次のエラーが発生します

$xclock
Could not find ':' in DISPLAY: 1
Error: Can't open display: localhost:10.0

X11転送はsshd_configで設定されます

$ grep -i X11Forward /etc/ssh/sshd_config
# Setting X11Forwarding to "yes" permits encrypted X connections.
X11Forwarding yes

そして、

$ echo $DISPLAY
localhost:10.0

誰かがこの点で私を助けることができますか?.

3
psteelk

他の人がここでMacでX転送をセットアップするのに苦労しているかもしれないので、ここで一般的な答えを与えます。特定のケースでは、ターミナルから実行するのではなく、XQuartsからsshを実行してみてください。また、server側でXForwardingが設定されていることを確認し、調整後にsshdを再起動します。

OS-XでXアプリケーションを実行するための前提条件:

  • XQuartz をクライアント側にインストールする必要があります(XQuartsを実行し、ローカルターミナルを起動して、アカウントで機能していることを確認してください)
  • サーバーでXForwardingを許可する必要があります。 X11Forwardingオプション(最も一般的には/etc/ssh/sshd_configにあります)を設定します:X11Forwarding yes(sshd_configファイルを編集した後にsshサーバーを再起動することを忘れないでください)。
  • Sshdサーバーはサーバー側で実行されている必要があります。
  • ファイアウォール(両端)は、ポート22を介したトラフィックを許可する必要があります。

Ssh上でXを実行する:

  1. XQuartzを起動し、を押してXQuartzターミナルを起動します +n
  2. ターミナルタイプ:ssh -X [username]@[servername]-Yの代わりに-Xを使用することもできます)
  3. サーバーにログインする必要があります。たとえば、xeyesを試して、Xにあなたを振り返らせます。

トラブルシューティング:

  • 「接続が拒否されました」:ファイアウォール設定(両端)を確認し、sshサーバー(sshd)が受信側で実行されているかどうかを確認します。
  • $ DISPLAYエラー:sshは$ DISPLAY変数の設定を処理する必要があります。 XQuartzから実行している場合、これは(何らかの理由で)sshがXforwardedセッションをセットアップできなかったことを意味します。ログファイル(特にサーバー側)のエラーを確認し、詳細な出力-vまたは-vvまたは-vvvでsshを試して、手がかりを探します。 $ DISPLAY設定を自分で改ざんしないでください。これは、sshがトンネルを確立できないことの効果であり、原因
3
agtoever