Server

wsl2 에서 GUI 프로그램 실행하기

HoodieJun 2021. 3. 15. 22:33

윈도우와 리눅스가 같이하기로 하고 wsl2 버전까지 정식 출시하고 점점 좋아지고 있습니다. 완벽하진 않지만 거의 로컬에서 쓰는 것과 비슷한 것 같아요.

WSL2 설치방법 --> 윈도우에서 리눅스를 사용해보자 - WSL2 설치 (tistory.com)

 

윈도우에서 리눅스를 사용해보자 - WSL2 설치

wsl2 가 나온 지 벌써 몇 년이 지났네요. 지금은 많이 자리를 잡고 안정적인 듯하여 설치 방법을 한 번 정리해봤습니다. 1. 호환 버전 확인하기 윈도우 키 + r --> 실행창에서 winver 입력 버전 1903 이

hoodiejun.tistory.com

답답한 터미널 환경에서 벗어나 마우스 사용이 가능한 GUI 환경을 이용할 수 있도록 세팅해보겠습니다.

먼저 x11서버를 이용할 수 있도록 vcxsrv를 설치하겠습니다. (chocolatey 이용) 윈도우에서 명령어 한 줄로 프로그램 설치하자 - chocolatey (tistory.com)

 

윈도우에서 명령어 한 줄로 프로그램 설치하자 - chocolatey

windows에서도 패키지 매니저를 만들었습니다. Mac의 brew Debian 계열의 apt Redhat 계열의 yum 과 같은 기능을 하는 패키지 관리 프로그램입니다. chocolatey를 사용하면 powershell로 명령어 한 줄이면 등록된

hoodiejun.tistory.com

choco install vcxsrv -y

vcxsrv 가 설치 완료되면 실행시킵니다. (vcxsrv 검색해서 설치해도 됩니다. sourceforge.net 들어가서 다운로드하고 설치하는 과정을 위의 명령어 한 줄로 가능합니다. chocolatey 너무 좋아요 :) )

첫 번째 Multiple windows를 선택합니다.

Start no client를 선택합니다.

전부다 체크해줍니다.

Save configuration 으로 저장한 뒤 마침을 눌러주세요. 방화벽도 모두 허용해주세요.

윈도우키 + r을 누르고 실행창에 shell:startup이라고 입력하세요. 컴퓨터를 켤 때마다 configuration 파일이 저절로 실행되도록 설정해주겠습니다. 만약에 wsl2를 자주 이용하지 않아서 필요할 때만 쓰시는 분은 바탕화면에 놓고 필요할 때만 실행하셔도 됩니다!

아까 저장한 configuration 파일의 형식을 xlaunch로 변경합니다. 예를 들어서 wsl2로 저장한 경우 이름을 wsl2.xlaunch로 바꿔주세요. 그러면 더블클릭하면 바로 실행됩니다. 이상태에서 이 설정 파일을 시작프로그램 폴더에 넣어주세요! 위와 같이 잘 들어갔다면 앞으로 부팅하면 저 설정파일이 저절로 실행됩니다. 가벼운 파일이라 성능에 지장 없어서 저는 항상 켜 두기로 결정했습니다.

시작프로그램 등록과정 설명 링크 --> Windows 10에서 시작할 때 자동으로 실행되는 앱 추가 (microsoft.com)

 

Windows 10에서 시작할 때 자동으로 실행되는 앱 추가

시작  단추를 선택하고, 스크롤하여 시작할 때 실행할 앱을 찾습니다. 앱을 마우스 오른쪽 단추로 클릭하고 자세히를 선택한 다음 파일 위치 열기를 선택합니다. 그러면 앱의 바로 가기가 저장

support.microsoft.com

마지막으로 wsl2 안에서 설정을 약간 해주도록 하겠습니다. 그래픽을 방금 설정한 x 서버로 쏴주는 설정인데요. 터미널에서 아래의 코드를 입력해주세요. bash를 사용하신다면 $HOME/.bashrc 파일에, zsh를 사용하신다면 $HOME/.zshrc 파일에, fish를 사용하신다면 init.fish 또는 config.fish 파일에 맨 끝에 추가해주시면 됩니다. 저는 zsh를 사용하므로 .zshrc파일에 적용할게요.

echo "export DISPLAY=$(cat /etc/resolv.conf | grep nameserver | awk '{print $2}'):0" >> ~/.zshrc
echo "export LIBGL_ALWAYS_INDIRECT=1" >> ~/.zshrc

각각 각자 사용하는 shell 에 맞춰서 입력해주세요. 그리고 한 번 나갔다 다시 wsl2를 접속하시면 원하는 프로그램을 실행시킬 수 있습니다. 저는 가볍게 sqlitebrowser를 실행해보겠습니다.

잘 실행됩니다!! 아예 gnome 이나 kde와 같은 DE(Desktop Environment)를 설치해서 우분투 desktop처럼 사용하시는 분들도 많으신 걸로 알고 있습니다. 그렇게 하는 방법도 있고 저처럼 필요한 프로그램만 그때 그때 실행하는 방법도 있습니다. 편하신 대로 선택하면 됩니다.

wsl2 사용하지는 얼마 안되었지만 아직까지 큰 불편함 없이 잘 사용하고 있습니다. 앞으로도 정말 기대됩니다. 감사합니다!