![在 WSL1(最近升級)上使用外部 X 伺服器作為應用程式 (emacs)?](https://rvso.com/image/1072885/%E5%9C%A8%20WSL1%EF%BC%88%E6%9C%80%E8%BF%91%E5%8D%87%E7%B4%9A%EF%BC%89%E4%B8%8A%E4%BD%BF%E7%94%A8%E5%A4%96%E9%83%A8%20X%20%E4%BC%BA%E6%9C%8D%E5%99%A8%E4%BD%9C%E7%82%BA%E6%87%89%E7%94%A8%E7%A8%8B%E5%BC%8F%20(emacs)%EF%BC%9F.png)
2022 年 1 月 23 日,我在 MS Windows 10 的帶領下升級了我的 Windows 10 上的 WSL(20H2)。它承諾支援 WSL2 和 WSLg。
但無法支援圖形顯示。我只能在終端模式(不是 GUI)下使用 Ubuntu/WSL 的終端啟動 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 應用程式。