![WSL1 (最近アップグレード) 上のアプリケーション (emacs) に外部 X サーバーを使用しますか?](https://rvso.com/image/1072885/WSL1%20(%E6%9C%80%E8%BF%91%E3%82%A2%E3%83%83%E3%83%97%E3%82%B0%E3%83%AC%E3%83%BC%E3%83%89)%20%E4%B8%8A%E3%81%AE%E3%82%A2%E3%83%97%E3%83%AA%E3%82%B1%E3%83%BC%E3%82%B7%E3%83%A7%E3%83%B3%20(emacs)%20%E3%81%AB%E5%A4%96%E9%83%A8%20X%20%E3%82%B5%E3%83%BC%E3%83%90%E3%83%BC%E3%82%92%E4%BD%BF%E7%94%A8%E3%81%97%E3%81%BE%E3%81%99%E3%81%8B%3F.png)
2022 年 1 月 23 日、MS Windows 10 の指示に従って、Windows 10 (20H2) の WSL をアップグレードしました。WSL2 と WSLg をサポートすると約束されていました。
ただし、グラフィック表示のサポートはできません。Ubuntu/WSL のターミナル モード (GUI ではない) を使用して emacs を起動することしかできません。
問題は、vcXsrv を実行しても、Ubuntu/WSL1 アプリケーションが外部 X サーバーを使用して GUI アプリケーションとして実行できないことです。
最新の WSL ドキュメントによると、私の Windows は古すぎて WSL2 と WSLg をサポートしていません。しかし、それでも Windows はアップグレードを求めてきました。
また、私の Ubuntu がまだ WSL1 モードのままであり、WSL 2 モードに変換できなかったことも確認しました。
私の Windows の詳細は次のとおりです。
Edition Windows 10 Enterprise
Version 20H2
Installed on 10/21/2021
OS build 19042.2486
Experience Windows Feature Experience Pack 120.2212.4190.0
wsl のバージョン:
wsl --version
WSL version: 1.0.3.0
Kernel version: 5.15.79.1
WSLg version: 1.0.47
MSRDC version: 1.2.3575
Direct3D version: 1.606.4
DXCore version: 10.0.25131.1002-220531-1700.rs-onecore-base2-hyp
Windows version: 10.0.19042.2486
wsl のモード:
wsl --list --verbose
NAME STATE VERSION
* Ubuntu Stopped 1
Ubuntu-22.04 Running 1
(WSL2 で実行するように変更しようとしてリセットしようとしたところ、Ubuntu が壊れてしまいました。Ubuntu-22.04 を新たにインストールしましたが、クリップボードの問題は同じです。)
したがって、私の現在の願いは、グラフィック表示用の X サーバーとして VcXsrv を使用して、WSL の古いバージョンまたは動作に戻ることです。
答え1
問題は解決しました:https://github.com/hubisan/emacs-wsl/blob/master/run-emacs-wsl-1/wsl-1_2-emacs.bat 次のように変更しました
export DISPLAY=:0.0
から
export DISPLAY=127.0.0.1:0.0
しかし、その理由と、その違いが何をもたらすのかは分かりません。
その後、Ubuntu/WSL1 で GUI アプリを再度起動できるようになります。