在 WSL1(最近升级)上为应用程序(emacs)使用外部 X 服务器?

在 WSL1(最近升级)上为应用程序(emacs)使用外部 X 服务器?

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 应用程序。

相关内容