~/blog/opening-gui-apps-in-windows-x11-forwarding-from-linux-to-wsl
Published on

Linux->WSL->Windows X11フォワーディングでGUIアプリを開く

2216文字4分で読めます–––
閲覧数
Authors
  • avatar
    Name
    Shou Arisaka nyapp.buzz/shou
    short bio
    Z世代の情報技術者。Next.jsで自作SNSを個人開発中。

Linuxパソコン・サーバーおよびWindows上のWSL Linux Bash環境を通して、Linux->WSL->Windows X11フォワーディングでGUIアプリを開く方法について紹介します。

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
avatar

Shou Arisaka

情報技術者 / Z世代プログラマー / SaaSアプリやSNSを開発
今すぐ話そう!

15歳でWordPressサイトを立ち上げ、ウェブ領域に足を踏み入れる。翌年にはRuby on Railsを用いたマイクロサービス開発に着手し、現在はデジタル庁を支えたNext.jsによるHP作成やSaaS開発のプロジェクトに携わりながら、React.js・Node.js・TypeScriptによるモダンなウェブアプリの個人開発を趣味でも行う。
フロントエンドからバックエンドまで一貫したアジャイルなフルスタック開発を得意とし、ウェブマーケティングや広告デザインも必要に応じて担当、広告運用・SEO対策・データ分析まで行う低コストかつ高品質な顧客体験の提供が好評。
国内外から200万人を超える人々に支えられ、9周年を迎えるITブログ「yuipro」の開発者、デザイナーでありライター。現在ベータ段階の自作SNS「nyapp.buzz」を日本一の国産SNSとするべく奮闘中。

Created with Fabric.js 5.2.4 何かご質問がありますか?