본문으로 바로가기

WSL 2(Windows Subsystem for Linux 2) with GUI

category 기타자료 2020. 5. 31. 11:16
반응형

기존의 WSL을 WSL 2로 업데이트 하였습니다. 업그레이드 이후 성능 향상을 체감하기 위하여 간단한 시뮬레이션및 GTKWave를 실행 시켰보았는데 GUI 프로그램이 정상적으로 열리지 않는 것을 알게 되었습니다. 기존의 WSL은 이더넷을 host와 공유하여 DISPLAY 설정이 간단하였지만 WSL 2 에서는 이더넷이 분리되어 동적으로 IP가 할당되어 DISPLAY 설정을 다른 방법으로 해야 했기 때문입니다. 약간의 삽질(약 한시간 삼십분) 이후에 성공하게 되어 해당 방법을 공유해 봅니다. 


1. WSL 2 업그레이드 및 설치 과정

해당 과정은 WSL 2(Windows Subsystem For Linux 2) 사용하기에 잘 나와 있으니 참고 하시길 바랍니다. 혹시 업그레이드 과정에서 커널 컴퍼넌트 업그레이드가 필요하다면 Updating the WSL 2 Linux kernel 를 확인하시면 됩니다. 


2. GUI 실행을 위한 설정  

WSL 2에서 GUI를 실행 하기 위해서는 WSL에서 사용하였던 방법에서 3가지를 변경해야 합니다. 기본 설정 과정은 WSL(Windows Subsystem for Linux) with GUI을 참고하시기 바랍니다. 


2-1. 방화벽 Disable

아래의 그림과 같이 Guest or public networks의 방화벽을 해제 합니다. 


2-2. .bashrc 에 DISPLAY 설정

#export DISPLAY=:0.0 # in WSL 1
export DISPLAY=$(awk '/nameserver / {print $2; exit}' /etc/resolv.conf 2>/dev/null):0.0 # in WSL 2


2-3. VcXsrv 실행시 옵션 추가 

아래의 그림과 같이 -ac 옵션을 추가하여 VcXsrv를 실행 합니다. 



3. GUI 프로그램 실행 화면 


반응형