機能 ショートカットキー
リファレンス(参考URL)一覧へ移動 R
記事URLをMarkDownとしてコピー Ctrl+M
前のコードタグへ移動 Ctrl+←
次のコードタグへ移動 Ctrl+→
ヘルプを表示・非表示 H
Tips
- ショートカットキーは記事上で有効です。ヘッダー/フッター付近では機能しないことがあります。
- コードタグ移動機能がうまく動かないときは、Shift+F5でページを更新してみてください。
- このウィンドウを閉じるには、Hキーをもう一度押してください

Ubuntu VPS -> WSL -> Windows X11フォワーディングでグラフィカルウィンドウアプリを開く

プログラミング

conoha vpsに対して、wsl経由でwindowsからSSHしてconohaで起動したgeditをWindowsで編集してみます。

手順

プログラミング

xorg – How to forward X over SSH to run graphics applications remotely? – Unix & Linux Stack Exchangeを見ればだいたい書いてある。

Your client must be set up to forward X11.
Your server must be set up to allow X11 forwarding.
Your server must be able to set up X11 authentication.

xauthは通常インストールされているが、されていない場合インストールする必要がある。(サーバーサイド)
type xauth

クライアントサイドにて以下を~/.ssh/configへ記述。

sublime_text ~/.ssh/config

Host *
  ForwardAgent yes
  ForwardX11 yes
  XAuthLocation /usr/bin/xauth
  ForwardX11Trusted yes

サーバーサイドのsshd_configファイルにX11Forwarding yesの記述があるかどうか。なければ追記。普通ある。

cat /etc/ssh/sshd_config | fzf

クライアントからsshで接続してやる。-Xをつける。-v(verbose)オプションもデバッグ目的で推奨されている。

WSLからconohaのVPSに接続する例: ssh -v -X -L 4000:localhost:4000 -R 52698:localhost:52698 yuis@150.95.0.0

さらにWSLからwindowsへ渡すには、X SERVERソフトウェアを使う。

Xming X Server for Windows download | SourceForge.net

xmingというソフトウェアを落としてインストール。
で、デフォルトだとポート0:0で起動されるので、.bashrcへ以下を追記。

export DISPLAY=localhost:0.0

複数起動とかエラー*1 が原因でポートを1,2などに変えた場合は上のコードも変える。

1: 別途記事でも紹介しているがバグが多い。更新もされてないみたいだけど選択肢がないので。tail -f "xming.0.log"推奨。

sshなしでgeditをWSLでしてみて、windowsにレンダリングされるか確認してみると良い。その上でover sshでgeditして、WSL経由でgeditが表示されればOKです。

(WSL経由推してますが VPS -> windows(powershell)でも行けると思います。)

known errors

プログラミング
  • No xauth data; using fake authentication data for X11 forwarding.

以下の手順に従えば問題ない。クライアントのconfigにXAuthLocation /usr/bin/xauthが無いと起こる

[SOLVED] Problem with “Warning: No xauth data; using fake authentication data for X11 forwarding.”

  • Bad owner or permissions on /home/yuis/.ssh/config

sudo chmod 600 ~/.ssh/config

この記事で欲しい情報が見つからなかった方へ

この記事の更新情報がある場合があります。
この記事は以下の記事とも関連性があると思われます。

Windows 環境変数設定をコマンドから開く
bashからwindowsのユーザー名を出力する
UbuntuでWindowsのタスクマネージャーみたいなコマンド
Ruby windowsのソフトウェアを外部コマンドから開く・起動する
WindowsにCicaフォントをインストールしてconemuのWSL bashで使えるようにする
windows Mac Linuxの人口比率
Windows 10でGuestアカウントを有効にする方法


管理人の方針で、既存の記事の編集はせず、新しい情報や大きな既存情報の更新があった場合には、新しい記事として公開することになっています。
当記事で欲しい情報が見つからなかった・解決に至らなかった場合、これらのリンクがお役に立てるかも知れません。

どうやってこの関連記事を生成しているの?
この機能のPHPソースコード(2500行)

コメントを残す

Close Menu