リモートのXアプリを手元のWindows11(wsl/wslgのみ)で操作する

内容

別PCで立ち上げたLinuxのX11アプリ(例えばfirefoxなど)を、手元で操作中のWindows11の画面に起動させる方法をメモします。

この方法は、昔ながらのxmingやVcXservなどの別アプリを必要としないのがうれしい!

事前準備

別PCで立ち上げたLinux

別PCのLinuxへsshで接続しX11をsshの転送機能を使ってsshの接続元にX11を飛ばすため、別PCのLinuxへログインして、以下の通りsshdでX11Forwardingをyesにし設定を反映してください。(以下、ubuntuを想定)

% sudo vi /etc/ssh/sshd_config
```
X11Forwarding yes
```

% sudo systemctl restart ssh

手元のWindows11での操作

手元のWindows11ではwsl2のwslg機能を使って転送してきたX11を表示させます。(wsl2ではubuntuを用います。以下powershellで実行します)

wslgの有効化

.wslconfig というファイルにguiApplications=trueを追加する。.wslconfigというファイルが無ければ作成して以下の2行を記述する

PS C:> notepad C:\Users\ログインアカウント名\.wslconfig

```
[wsl2]
guiApplications=true
```

PS C:> wsl --shutdown
PS C:> wsl -l -v
  NAME      STATE           VERSION
* Ubuntu    Stopped         2

PS C:> wsl -t ubuntu
PS C:> wsl
root@PCNAME:/mnt/c/Users/username#    ← Ubuntu環境にログインした状態

wsl2でubuntuがインストールされていなかった場合
PS C:> wsl --list --online
インストールできる有効なディストリビューションの一覧を次に示します。
'wsl.exe --install <Distro>' を使用してインストールします。

NAME                            FRIENDLY NAME
Ubuntu                          Ubuntu
Ubuntu-26.04                    Ubuntu 26.04 LTS

PC C:> wsl --install
 もしくはバージョンを指定して
PC C:> wsl --instlal -d Ubuntu-26.04 

PS C:> wsl --list -v
  NAME      STATE           VERSION
* Ubuntu    Stopped         2

X11アプリの起動

手元のWindows11から別PCのLinuxにsshでログインして、X11アプリを起動し、手元のWindows11の画面に表示されることを確認する。

PS C:> wsl
root@PCNAME:/mnt/c/Users/username# ssh -X username@hostname

username@hostname:~/xeyes &

※以下は私の環境で試したのでusernameとhostnameは上記コマンドとは異なります

タイトルとURLをコピーしました