Skip to content
TUWLAB.com
모든 게시물에 대하여 '링크'
방식의 퍼가기만 허용합니다.
한양대학교 전자통신컴퓨터공학부
바라미
  • 232
  • 2594847
DNS Powered by DNSEver.com
일반

[WSL] Windows Subsystem for Linux - 디스플레이 서버 설정 및 GUI 사용하기

Posted 2018. 11. 12 Updated 2021. 12. 28 Views 33303 Replies 0
Atachment
첨부

WSL에는 기본적으로 디스플레이 관련 기능이 포함되어 있지 않아서 GUI 기반 어플리케이션은 사용할 수 없다.

하지만, GUI 관련 기능이 서버-클라이언트 구조로 확실하게 분리되어 구현된 리눅스의 특성상(GUI가 필수적인 Windows와는 달리, 리눅스에서는 GUI가 그야말로 '옵션'이다.) 필요시 X11과 같은 디스플레이 서버를 설치해서 "X over SSH"기법으로 Windows 화면에 GUI 어플리케이션을 띄워서 사용할 수 있다.

 

Xming 설치

https://sourceforge.net/projects/xming/ 에서 Xming 서버를 다운받아 Windows에 설치한다.

설치를 완료하고 Xming을 실행했을 때 시스템 트레이에 다음과 같이 아이콘이 표시됨을 확인한다. (별도의 추가 설정은 필요 없다.)

xming task bar.png

시작 프로그램 폴더(시작 → 실행 → "shell:startup")에 Xming 단축 아이콘을 위치시켜 Windows 부팅시 자동으로 실행되도록 한다.

 

Machine ID 생성

WSL 셸에서 다음 명령으로 ''/etc/machine-id'' 파일을 생성한다.

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

다음 명령으로 GUID가 올바르게 생성되었는지 확인한다.

cat /etc/machine-id

 

X-Window 구성 요소 설치

WSL 셸에서 다음 명령으로 X-Window 패키지와 구성 요소들을 설치한다.

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

 

기본 디스플레이 포트 설정

GUI 어플리케이션이 실행될 때 그래픽을 출력할 수 있도록 ~/.bashrc에 디스플레이 환경 변수(DISPLAY)를 다음과 같이 설정한다.

export DISPLAY=:0

WSL 셸을 종료하고 다시 실행하거나, "source ~/.bashrc"명령을 실행해서 변경된 환경 변수를 적용한다.

 

디스플레이 동작 시험

디스플레이 설정이 올바르게 되었는지 확인하기 위해 WSL 셸에서 다음 명령을 실행해본다.

xeyes

다음과 같이 웬 눈 달린 창(?)이 뜨면서 마우스를 움직일 때마다 눈알이 따라다니면 디스플레이 관련 설정이 제대로 된 것이다. 이제 필요한 GUI 기반 어플리케이션을 설치해서 사용하면 된다.

xeyes.png

 

서비스 선택
이용중인 SNS 버튼을 클릭하여 로그인 해주세요.
SNS 계정을 통해 로그인하면 회원가입 없이 댓글을 남길 수 있습니다.
댓글
?
Powered by SocialXE

List of Articles
번호 분류 제목 글쓴이 최근 수정일 조회 수
145 Linux [Linux] Sudo 명령의 Secure Path TUW 2015.04.24 8150
144 Linux [Linux] fdisk 활용 외: 파티션 생성, 배드블록 검사, 파일시스템 생성 TUW 2015.04.24 8252
143 Linux TCPDump를 활용하여 패킷 모니터링하기 TUW 2020.04.13 7217
142 일반 [C++] Template Class의 정의(Definition)와 구현(Implementation)은 한 파일 안에 있어야 한다. TUW 2015.11.26 10352
141 일반 [GIT] Patch 만들기 및 적용하기: format-patch, am TUW 2015.01.10 41193
140 일반 [GIT] 실행취소와 Commit 삭제: reflog, reset, checkout, revert TUW 2019.04.28 64652
139 일반 [GIT] 임시 저장소 사용하기: stash TUW 2015.11.27 4775
138 일반 [GIT] 병합하고 Commit 재정렬하기: cherry-pick, rebase, merge file TUW 2017.06.02 32271
137 일반 [GIT] Branch 관리하기: branch, checkout, push, pull 2 TUW 2018.02.03 48413
136 일반 [GIT] Commit하고 원격 저장소로 내보내기: add, reset, commit, push TUW 2018.01.18 27561
135 일반 [GIT] 로컬 저장소 정보 조회하기: status, show, log, diff, blame file TUW 2017.06.02 7244
134 일반 [GIT] 기본 환경 설정 및 작업 시작하기: config, clone, init, pull, fetch, remote TUW 2019.01.30 12860
133 일반 [GIT] GIT이란 무엇인가, GIT에 대하여 file TUW 2017.06.02 27734
132 Linux [ColorGCC] 컴파일 경고 및 오류메시지 컬러로 출력하기 file TUW 2017.06.02 9689
131 XE [XE] XE 1.7.4.x 적용 후 SocialXE에서 '잘못된 요청입니다.' 오류 해결하기 21 file TUW 2017.06.02 14931
130 Linux Linux 루트 디렉토리 구성 TUW 2018.01.04 17472
목록
Board Pagination Prev 1 2 3 4 5 6 7 ... 13 Next
/ 13

Powered by Xpress Engine / Designed by Sketchbook

sketchbook5, 스케치북5

sketchbook5, 스케치북5