質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.50%
WSL(Windows Subsystem for Linux)

WSL (Windows Subsystem for Linux) は、Windows10のOS上でLinux向けのバイナリプログラムを実行可能にする機能です。また、WindowsOSのAPIを用いた仕組みを提供しており、Linux側からWindowsOSへのファイルアクセスもできます。

SSH

SSH(Secure Shell)は、セキュアチャネルを通してデータを交換するためのネットワークプロトコルです。リモートサーバーへのコマンド実行やファイル転送を行う時に一般的に使用されます。

Q&A

解決済

2回答

5751閲覧

WSLを使っています.sshでのXが使えない

ryoma1230

総合スコア12

WSL(Windows Subsystem for Linux)

WSL (Windows Subsystem for Linux) は、Windows10のOS上でLinux向けのバイナリプログラムを実行可能にする機能です。また、WindowsOSのAPIを用いた仕組みを提供しており、Linux側からWindowsOSへのファイルアクセスもできます。

SSH

SSH(Secure Shell)は、セキュアチャネルを通してデータを交換するためのネットワークプロトコルです。リモートサーバーへのコマンド実行やファイル転送を行う時に一般的に使用されます。

0グッド

1クリップ

投稿2020/03/09 05:40

MobaXterm 11.1 を使い,WSL(Debian)を使っています.
ローカルでは普通にXが使えるのですがssh でリモートサーバーに接続し
そこでのXが使えません.

・エラーは以下になります.
まずローカルからリモートにログイン
$ ssh -X user@リモートIP
xが起動するかxeyesで確認.以下の様なエラーが出ます.
$ xeyes
connect /tmp/.X11-unix/X0: No such file or directory
Error: Can't open display: リモートのIP:10.0

・確認したことは以下になります.
リモートの/etc/ssh/sshd_configの中を確認し
X11Forwarding yes
X11UseLocalhost no
になっていることを確認

・ディスプレイの環境変数
$ echo $DISPLAY
リモートIP:11.0

ディスプレイの環境変数がおかしいのでしょうか
おかしい場合はどのように設定すればよいのでしょうか.
ご教授お願い致します。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答2

0

ベストアンサー

まずやりたい事の確認ですが、MobaXterm 上で WSL(Debian) を起動し、そこから ssh で他のサーバにログインしてそこで X アプリケーションを使いたいという事でいいですか?
以降はそれを前提として書きます。

ssh する前の DISPLAY の値は何になっていますか?

$ xeyes
connect /tmp/.X11-unix/X0: No such file or directory
Error: Can't open display: リモートのIP:10.0

このエラーからは WSL 上では DISPLAY:0.0 となっていると思われますが、その状態で WSL 上から X のアプリケーションは起動できていますか?
エラー内容からは起動できないように思います。

ssh -X での X 転送を利用するには、まずローカル側で DISPLAY の値を正しく設定して X のアプリケーションが起動出来るようにする必要があります。

MobaXterm から WSL を利用すると通常は DISPLAY127.0.0.1:0.0 に設定されると思います。DISPLAY127.0.0.1:0.0 に設定した状態で ssh -X を試してみて下さい。

あと、以下は接続できない事に直接は関係しませんがちょっと気になったので。

X11UseLocalhost no

この設定は何か必要が有って入れていますか?
この設定を入れると、リモート側の X 転送用ソケットに他のマシンからアクセス出来るようになるので、セキュリティ上好ましく有りません。
特別な理由が無ければ、この設定は yes にする方がいいでしょう。

投稿2020/03/09 07:24

doda

総合スコア947

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

ryoma1230

2020/03/09 07:39

本当にありがとうございます! ローカルのディスプレイの環境変数を変更したらできました!! X11uselocalhost についてももう少し勉強してみます!
guest

0

・ディスプレイの環境変数

$ echo $DISPLAY
リモートIP:11.0

DISPLAY環境変数は「どのマシンのXサーバに表示させたいか」を決めます。つまり、ここで記述すべきはリモートマシンのIPアドレスではなく、ローカルマシンのIPアドレスです。

投稿2020/03/09 06:04

kazto

総合スコア7196

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

doda

2020/03/09 06:23

それをやっちゃうとXの通信がネットワークを直接流れてしまいます。 SSHのX転送機能(-X)を使ってXの通信をSSHトンネルの中を通したい場合はそれをやってはいけません。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.50%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問