WSL 2 에서 GUI 환경 사용하기 ----------- 윈도우 10이 업데이트 되면서 WSL 2 라는 것을 쓸 수 있게 되었다. WSL 2 는 Windows Subsystem for Linux 2 이며, Windows 10 2020년 5월 업데이트 이후부터는 사용할 수 있다. 물론, CPU 와 메인보드 조합에서 몇가지 조건을 충족시켜야 한다. WSL 2 는 Hyper-V 를 사용하므로, CPU 에서 Hyper-V 를 쓸 수 있어야 한다. 그리고, 소프트웨어적으로는 같은 기능을 사용하는 다른 프로그램과 한 시스템에 같이 설치해서 사용할 수는 없다. 이러한 조건이 충독되면, 윈도우 10의 버전부터 확인해 보자. 시작 메뉴 - Windows PowerShell - Windows PowerShell 실행 (이때 마우스 오른쪽 버튼 눌러서 **관리자로 실행** 을 선택하여 관리자 권한으로 실행하도록 한다.) PowerShell 창이 열리면 winver 를 입력하면, 위에 큼직하게 Windows 10 이라고 찍힌 창이 화면에 나타나는데, 거기에 Microsoft Windows 버전 2004 (OS빌드 19041.450) 이런 비슷한 글씨가 적혀 있을텐데, **버전 2004** 라고 되어 있으면 된다. 앞으로 업데이트 되면 2005, 2006 이 되겠지만, 일단 지금 시점에서는 2004 ... PowerShell 창에서 WSL 을 활성화시키는 명령을 실행하자. dism.exe /online /enable-feature /featurename:Microsoft-Windows-Subsystem-Linux /all /norestart 다음 명령은 VM Platform 을 활성화시키는 명령이다. dism.exe /online /enable-feature /featurename:VirtualMachinePlatform /all /norestart 그리고 https://docs.microsoft.com/ko-KR/windows/wsl/wsl2-kernel 에 접속해서 리눅스 커널 업데이트를 다운받아서 실행시키자. 설치가 완료되면 리부팅하면 된다. 리부팅아 되면, 아까처럼 Windows PowerSheel 을 관리자 권한으로 실행시킨 후, wsl --set-default-version 2 를 실행하자. 윈도의 시작메뉴 - Microsoft Store 를 실행하고, 오른쪽 위에 보이는 **검색**을 누른 후 **linux** 를 검색하자. 몇가지가 나오는데, 이 중에서 가장 최근에 배포된 Ubuntu 20.04 LTS 를 선택하는 게 편하다. 물론, 데비안이나 칼리 리눅스, 그리고 Microsoft Store 에서 배포하지 않더라도 사용자들이 만든 배포판 WSL 2 용 배포판 이미지가 웬만한 배포판들은 다 있으니 그걸 찾아서 다운로드 받아서 설치해도 된다. 보다 자세한 내용은 **Linux용 Windows 하위 시스템 설명서**, https://docs.microsoft.com/ko-kr/windows/wsl/ 를 참조하면 된다. WSL 2 로 Ubuntu 20.04 LTS 버전을 설치했다면, 이제 GUI 환경을 설치할 차례다. 내 경우는 xfce4 를 주로 쓰기 때문에 ... sudo apt update && sudo apt upgrade 로 일단 우분투에 설치된 프로그램들을 싹 업데이트 하고 ... sudo apt-get install xfce4 xfce4-goodies sudo apt-get install xrdp 로 xfce4 와 RDP 의 리눅스 서버를 설치한다. 그런데, 기본적으로 RDP의 기본 TCP/IP 포트가 3389 이므로, 이걸 그대로 쓰면 윈도우 내장 RDP 프로그램이 리눅스에 접속하겠다는 건지, 지금 실행하고 있는 윈도우에 다시 원격으로 접속하겠다는 건지 알 수가 없으므로, 몇가지 추가 설정이 필요하다. 아래 명령에서 두번째 줄에서 포트 번호를 3390 으로 바꾸고 있는데, 다른 것으로 바꿔도 무방하다. sudo cp /etc/xrdp/xrdp.ini /etc/xrdp/xrdp.ini.bak sudo sed -i 's/3389/3390/g' /etc/xrdp/xrdp.ini sudo sed -i 's/max_bpp=32/#max_bpp=32\nmax_bpp=128/g' /etc/xrdp/xrdp.ini sudo sed -i 's/xserverbpp=24/#xserverbpp=24\nxserverbpp=128/g' /etc/xrdp/xrdp.ini echo xfce4-session > ~/.xsession 그리고 dbus 와 xrdp 를 실행시킨다. dbus 는 데몬 활성화 시킬 때 오류가 발생하거나 경고 메시지가 나오기도 하는데, 무시하면 된다. sudo systemctl enable dbus sudo /etc/init.d/dbus start sudo systemctl enable xrdp sudo /etc/init.d/xrdp start WSL 2 측에서는 모든 준비가 끝났다. 다시 윈도로 돌아가서 ... 시작메뉴 - Windows 보조프로그램 - 원격 데스크탑 연결 을 실행한다. 컴퓨터 주소를 입력하는 창이 나오는데, localhost:3390 이라고 입력하고 연결 을 누르면 잠시 시간이 지나면 아래와 같이 xfce4 화면이 나온다. {{ :xrdp.png?400 |}} 그런데 .. 제대로 안될 때가 있다. 이럴 땐 이렇게 하자. - WSL2 에서 Ubuntu 를 실행시킨다. - sudo /etc/init.d/xrdp start - 윈도에서 시작메뉴 - Windows 보조프로그램 - 원격 데스크탑 연결에서 주소에 localhost:3390 입력하고 연결 WSL 실행시 xrdp 데몬이 실행이 정상적으로 안되는 경우가 있을 때 발생하는 현상인데 해결 방법은 위와 같다. 그런데, 이런 현상이 좀 잦다.. 음... Gnome 이나 KDE 를 쓰는 경우도 가능한데, 약간 더 설정이 복잡(?)하기는 하지만 뭐 그게 그거니까 ... * 추가 사항 RDP 로 로그인을 했는데, **색상 프로필을 만들려면 인증이 필요합니다.** 라며 비밀번호를 또 물어보는 경우가 있다. /etc/polkit-1/localauthority/50-local.d/color.pkla 라는 파일을 아래처럼 하나 만들어 두면 된다. [Allow colord for all users] Identity=unix-user:* Action=org.freedesktop.color-manager.create-device;org.freedesktop.color-manager.create-profile;org.freedesktop.color-manager.delete-device;org.freedesktop.color-manager.delete-profile;org.freedesktop.color-manager.modify-device;org.freedesktop.color-manager.modify-profile ResultAny=yes ResultInactive=yes ResultActive=yes * 추가 사항 2 메뉴에서 글꼴이 깨지거나, 아이콘 밑에 있는 글꼴이 깨져 보일 수 있다. 이런 이유는 글꼴이 제대로 설치 안되어 있을 때... 또는 locale 이 제대로 설정이 안돼 있어서 그렇다. 먼저 글꼴은 ... sudo apt install fonts-unfots-core fonts-naver-d2coding 로 2개만 설치하면 일단 쓰는 데는 지장 없다. locale 은 다음과 같이 설정하면 된다. sudo apt install languages-pack-ko sudo locale-gen ko_KR.UTF-8 sudo dpkg-reconfigure locales 이렇게 하면 메뉴에서 고르는 것이 나오는데, 키보드의 커서키로 위아래로 내리면서 ko_KR.UTF-8 을 고르면 된다. 그리고 ... sudo update-locale LANG=ko_KR.UTF-8 LC_MESSAGES=POSIX 라고 하면 된다. 사실 이건 /etc/default/locale 파일에 LANG=ko_KR.UTF-8 LC_MESSAGES=POSIX 라고 적어넣어도 된다, 단, 글꼴과 languages-pack-ko 는 설치되어 있어야 한다. 저렇게 하고 리부팅을 하거나 RDP 에서 로그아웃을 한 후 윈도 터미널 창에서 wsl -t ubuntu-20.04 를 입력해서 wsl 을 중지시킨 후 wsl 을 다시 실행하고 RDP 로 로그인하면 적용된다. ----------- 2020/08/28 akpil