WSL1(최근 업그레이드)에서 애플리케이션(emacs)에 외부 X 서버를 사용하시겠습니까?

WSL1(최근 업그레이드)에서 애플리케이션(emacs)에 외부 X 서버를 사용하시겠습니까?

2022년 1월 23일, MS Windows 10의 안내를 받아 Windows 10(20H2)에서 WSL을 업그레이드했습니다. 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로 실행되도록 변경하려고 재설정하려고 했더니 우분투가 깨졌습니다. 우분투-22.04를 새로 설치했는데 클립보드 문제도 마찬가지네요.)

따라서 이제 내 희망은 VcXsrv를 그래픽 디스플레이용 X 서버로 사용하는 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 앱을 다시 시작할 수 있습니다.

관련 정보