WSL(Windows Subsystem for Linux) Ubuntu GUI 환경 구성

WSL에는 기본적으로 GUI 환경을 제공하지 않는다. 대부분의 경우 터미널로 출력되는 결과물만으로도 작업하는데 별다른 문제가 없지만 간혹 GUI가 꼭 필할 때도 있다.

리눅스의 GUI환경(X-window)은 처음부터 원격실행을 고려하여 Server-Client 구조로 분리하여 설계되었다. 이러한 이유로 GUI를 제공하지 않는 WSL에서도 X-window Server-Client통신에 사용되는 X11이라는 프로토콜을 이용하면 원격으로 GUI환경을 사용할 수 있다.

X-Window 기본개념

원격지가 X-Client가 되고 원격지의 화면을 받는 곳이 X-Server가 된다. 원격지의 실행되는 GUI 프로그램이 X-Client를 통해서 X-Server에게 화면정보를 요청보내면 X-Server는 요청온 정보를 받아 화면을 그려준다.

WSL GUI 환경을 구성하기 위해서는 첫번째로 Windows 10에 X-Window Server로 동작할 Xming 서버를 설치해야 한다.

설치를 완료하고 Xming을 실행하면 시스템 트레이에서 다음과 같이 아이콘을 확인 할 수 있다.

Windows 10 System Tray

다음으로 WSL에 X-Client를 구성해야 한다. 먼저, Machine ID를 생성한다.

$ sudo systemd-machine-id-setup
$ sudo dbus-uuidgen --ensure

ID가 잘 만들어 졌는지 확인해보자.

$ cat /etc/machine-id

잘 만들어 졌다면, 이제 X-Window 패키지와 구성 요소들을 설치한다.

$ sudo apt-get install x11-apps xfonts-base xfonts-100dpi xfonts-75dpi xfonts-cyrillic

마지막으로 GUI 프로그램이 실행될때 그래픽을 출력할 수 있도록 디스플레이 환경변수를 다음과 같이 “.bashrc”에 설정 한다.

$ export DISPLAY=:0
$ source ~/.bashrc

이제 모든 준비가 되었다. WSL GUI 환경이 잘 구성 되었는지 확인하기 위해서 다음과 같이 WSL Shell에 다음과 같이 명령을 실행해 본다.

$ xeyes

잘 구성 되었다면, 다음과 같이 웃기게 생긴 눈달린 창이 나와서 마우스를 따라서 시선을 움직일 것이다.

WSL Ubuntu GUI 환경 구성

이제, WSL에서도 GUI 프로그램을 사용해 보자.

Ubuntu에서 nvidia 그래픽 카드 드라이버 설치하는 방법

로그인 부팅하고 최초 로그인 화면에서 화면이 멈추다 깨지거나 로그인을 하고 x-window로드중에 시스템이 멈춰서 사용이 불가능 하는 경우, 그래픽 드라이버가 제대로 설치가 안된 것이다.

로그인 화면이 뜨는 순간 바로 Crtl + Alt + f1~6을 빠르게 눌러서 터미널 창에 접속한다.

(* 우분투도 2013년 4월25일 이후의 업데이트부터는 저장소에서 기본으로 지원합니다.)
그 다음 nvidia-current 패키지를 설치 하면 된다.

$ sudo apt-get install nvidia-current

재부팅을 하고 로그인을 하면 정상적으로 GUI환경에서 사용하실 수 있다.