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,但剪贴板的问题是一样的。)
所以我现在的愿望是回到旧版本或 WSL 的行为,使用 VcXsrv 作为 X 服务器进行图形显示。
答案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 应用程序。