여기서는 Windows10에 WSL을 설치하고(정확히는 WSL2다!), 그 위에서 QGIS를 돌려본 경험과 절차를 공유한다. 참고로 MS에서는 올 연말쯤부터 WSL2에서 GUI 기반 리눅스 프로그램을 네이티브하게 지원할 것이라고 한다. 그때가 되면 이런 번잡한 작업을 하지 않아도 Windows10에서 리눅스 그래픽 프로그램들을 쉽게 사용할 수 있을 것으로 보인다. 

 

1. WSL(Windows Subsystem for Linux)과 리눅스 설치 

  • 이글의 주 목적은 WSL 설치가 아니므로 WSL와 리눅스 설치 관련한 내용은 간략히 설명한다. 
  • https://docs.microsoft.com/en-us/windows/wsl/install-win10를 참고해서 WSL을 사용할 수 있도록 자신의 PC를 설정하고 이후 필요한 경우 WSL2로 업데이트한다. 아래 URL에 그 방법이 잘 설명되어 있다. 
 

Install Windows Subsystem for Linux (WSL) on Windows 10

Installation instructions for the Windows Subsystem for Linux on Windows 10.

docs.microsoft.com

  • 리눅스 같은 경우 Microsoft Store에서 Ubuntu 검색해 설치하면 별 어려움 없이 설치할 수 있다. 
  • 참고로 WSL2는 Windows10 Build 19041 이후 버전에서만 설치된다. 자신의 Windows 버전을 확인하려면 Windows+R을 누른뒤 winver를 실행하면 된다. 

 

2. X Window Server 설치

  • WSL1이든 WSL2든 모두 리눅스 GUI 프로그램의 구동을 지원하지 않는다. 따라서 전통적인 X Window를 이용해 QGIS처럼 GUI가 필요한 프로그램을 구동시킬 수 있다. 
  • 이를 위해 X Window Server를 Windows에 설치해야 한다. X Server는 유료도 있고 무료도 있는데, 여기서는 오픈소스 프로젝트인 VcXsrv X Server를 이용했다. 이 프로그램은 https://sourceforge.net/projects/vcxsrv/에서 내려받을 수 있다. 
  • 설치할 때 특별한 어려움은 없다. 다만, 실행할 때 좀 주의할 점이 있다. 시작할 때 [Extra Settings] 창에서 'Disable Access Control' 옵션을 체크해 줘야 한다.(아래 그림 참조)

 

3. WSL 홈 디렉토리의 .bashrc 내용 변경

  • vi 에디터나 혹은 다른 에디터를 이용해 자신의 홈 디렉토리에 있는 .bashrc(Bash를 쓸 경우)에 DISPLAY와 관련한 설정을 해줘야 한다. 즉, 그래픽 프로그램의 디스플레이를 어디서 표출할 것인가를 설정해 주는 것이다. 아래처럼 두 줄을 .bashrc에 추가해 준다. 
export DISPLAY=$(cat /etc/resolv.conf | grep nameserver | awk '{print $2}'):0
export LIBGL_ALWAYS_INDIRECT=1
  • WSL2는 별도의 가상머신으로 구동하기에 켤 때마다 IP 번호가 바뀐다. 위처럼 해 주면 자동으로 그래픽 표출을 위한 디스플레이 설정을 마칠 수 있다. 

 

4. 리눅스 QGIS 최신 버전 설치 

  • 여기서는 Ubuntu 20.04(LTS)를 기준으로 설명한다. 
  • vi나 기타 에디터를 이용하여 /etc/apt/sources.list 에 다음과 같이 두 줄을 추가해 준다. 
deb https://qgis.org/ubuntu-ltr focal main
deb-src https://qgis.org/ubuntu-ltr focal main
  • 위와 같이 QGIS LTR 버전의 저장소를 지정한 뒤 아래와 같이 설치를 진행한다. 
sudo apt-get update
sudo apt-get install qgis qgis-plugin-grass
  • 만약 sudo apt-get update를 진행하는 동안 public key에 문제가 있다는 식의 에러가 나오는 경우 아래처럼 대처하면 된다. 
wget -O - https://qgis.org/downloads/qgis-2019.gpg.key | gpg --import
gpg --fingerprint 51F523511C7028C3
  • 위와 같이 실행한 후 다음과 같이 추가적인 설정을 해주면 된다. 
gpg --export --armor 51F523511C7028C3 | sudo apt-key add -

 

5. WSL에서 QGIS 실행하기 

  • 이제 모든 준비는 다 끝났고, 다음과 같은 절차로 실행하면 된다. 
  • VcXsrv를 실행한다. (개인적으로는 아래처럼 Multiple windows를 선호한다.) 더불어, 위에서 언급한 것처럼 [Extra Settings] 창에서 'Disable Access Control' 옵션을 꼭 체크해 줘야 한다

  • WSL이나 혹은 Ubuntu를 실행해 들어간 명령창에서 QGIS를 실행한다. 

  • QGIS가 아래처럼 매우 빠르게 실행된다. 

  •  WSL 디렉토리에 있는 데이터 파일들은 매우 빠른 속도로 가시화와 처리가 가능하다.(자세한 설명은 다음 실험 결과 참조)

 

6. Windows와 WSL 기반 QGIS 속도 비교 

  • Windows와 WSL 기반 QGIS의 속도를 다음과 같이 비교해 봤다.
사용한 시스템 사양: Dell XPS-13 9360, RAM16GB, CPU Intel Core i7-7500U, NVMe SSD 500GB
사용한 데이터: 서울지역 연속지적도 SHP, 파일 크기 250MB
  • QGIS 프로그램 시작 속도와 데이터 로딩 속도는 아래와 같다.
플랫폼 QGIS 프로그램 시작
(첫 시작)
QGIS 프로그램 시작
(두 번째 시작)
데이터 로딩
(Windows 저장소)
데이터 로딩
(WSL 저장소)
Windows10 38.06초 17.81초 17.05초 로딩 불가
WSL2 4.38초 4.11초 17.75초 6.85초
  • 데이터가 WSL2의 파일 시스템에 있을 경우 QGIS의 처리 속도는 윈도우 QGIS를 압도한다. MS에서도 WSL2의 프로그램을 이용해 데이터를 처리할 경우 윈도우가 아닌 WSL2의 파일 시스템에 직접 저장해 사용할 것을 권장한다.
  • 참고로 WSL2에서 Windows에 있는 파일에 접근할 경우 WSL1보다 속도가 더 느리다고 한다.(아래 링크 참고)
    https://docs.microsoft.com/en-us/windows/wsl/compare-versions
 

An overview on the the Windows Subsystem for Linux

Learn about the Windows Subsystem for Linux, the different versions and ways you can use them.

docs.microsoft.com

 

 

7. 기타 - 한글 문제 등

  • 만약 한글이 글꼴이 깨지는 등 제대로 안 나오면 아래 링크를 참조해 한글 글꼴을 수동으로 WSL에 설치해 주면 된다. 

https://gist.github.com/lightonphiri/5811226a1fba0b3df3be73ff2d5b351c 

 

Install Google Fonts on Ubuntu

Install Google Fonts on Ubuntu. GitHub Gist: instantly share code, notes, and snippets.

gist.github.com

  • 네이버 나눔 글꼴 설치는 아래처럼 한 줄로 끝낼 수 있다.  
sudo apt-get install fonts-nanum
  • 더 다양한 폰트 설치는 아래 방법을 참고하기 바란다. 
1. 사용자 디렉토리에 .fonts 폴더를 만든 뒤 이 폴더에 TTF, OTF 같은 글꼴을 복사해 넣어주면 된다. 해당 사용자에게만 적용되는 방식이다. 

2. /usr/share/fonts/ 밑에 새로운 폴더를 만든 뒤 이곳에 TTF, OTF 같은 글꼴을 복사해 넣어준다. 이후, sudo fc-cache -fv를 실행하여 폰트 캐쉬를 다시 설정해 주면 시스템 전체적으로 새 글꼴이 적용된다. 

3. 그래픽 글꼴 프로그램을 이용하는 것도 한 방법이다. sudo apt-get install font-manager를 이용해 font-manager를 설치한 뒤 이를 이용하여 글꼴을 등록해 주는 방법이다. 

 

2020년 5월 31일
신상희 

Posted by 뚜와띠엔
,