WSL은 Windows Subsystem for Linux의 줄임말로, 윈도우에서 리눅스 환경을 사용 가능
터미널 창을 관리자 권한으로 실행하여 다음 명령어들을 실행
dism.exe /online /enable-feature /featurename:Microsoft-Windows-Subsystem-Linux /all /norestart
→ Microsoft-Windows-Subsystem-Linux 기능을 활성화하는 명령어
dism.exe /online /enable-feature /featurename:VirtualMachinePlatform /all /norestart
→ VirtualMachinePlatform 기능을 활성화하는 명령어
터미널 창을 관리자 권한으로 실행한 상태에서 다음 명령어를 실행하여 wsl을 설치
wsl --install -d Ubuntu-18.04
기본적으로 wsl2가 설정되나, wsl -l -v
명령어를 통해 버전 확인
wsl —set-version <distro name> 2
명령어를 통해 버전 변경
→Ubuntu 18.04 버전이 아닌 다른 버전을 설치할 경우, wsl —list —online
명령어를 실행하여 사용 가능한 배포판 목록을 확인 후 wsl —install -d <Distribution Name>
으로 설치 가능
설치 후, WSL2의 경우 Linux 커널 업데이트를 따로 설치해야 함
%USERPROFILE%
입력하여 사용Tip : 설정에서 시작 창을 wsl2로 설정하여 편리하게 사용 가능
WSL에서 GUI 프로그램을 사용하기 위해서는 XLaunch는 필수
아래 사이트에서 xlaunch 설치 가능
설치 후 실행한 다음, 설정 창에서 Next를 클릭해 Extra Settings으로 이동
Native opengl 항목을 체크 해제하고, Disable access control 항목을 체크 및 Additional parameters for VcXsrv에 -ac를 추가
다음 창에서 Save configuration 클릭 후 저장
window + r 누른 후, shell:startup 입력하여 시작 프로그램 폴더로 이동 후 configuration 삽입
→ GUI 프로그램을 위해 매번 xlaunch를 실행하고 설정하는 것이 번거롭기에, 시작 프로그램 폴더로 configuration을 삽입하여 컴퓨터가 켜질 때마다 자동으로 실행 가능하게 함
Ubuntu에 디스플레이 환경변수를 설정해주기 위해 wsl을 실행하고 vim ~/.bashrc
명령어 입력
아래 소스를 가장 하단에 입력
→ 호스트와 이더넷이 분리되어 동적으로 IP가 할당되기 때문에, VcXsrv서버와 통신을 하기 위해서 입력
export DISPLAY="`grep nameserver /etc/resolv.conf | sed 's/nameserver //'`:0"
export LIBGL_ALWAYS_INDIRECT=0
마지막으로 VcXsrv의 방화벽을 허용하고 완료
Windows 보안 > 하단의 방화벽에서 앱 허용 > 설정 변경을 누르고 VcXsrv의 방화벽을 모두 허용
환경변수를 설정해주지 않으면 해당 에러 발생
Could not connect to any X display.
환경변수를 설정했음에도 위 에러가 발생한다면, echo $DISPLAY
로 IP 확인
IP가 두 개가 나온다면,
export DISPLAY="`grep nameserver /etc/resolv.conf | sed 's/nameserver //'`:0"
대신
export DISPLAY=:0
을 입력
아무것도 나오지 않는다면 방화벽 허용을 하지 않아서 생기는 문제
\\wsl$ 경로를 사용하여 접근 가능