[WSL2] 윈도우에서 linux 사용 (WSL 2), xwindows GUI 설정

계산과학 분야의 많은 프로그램들은 linux (서버) 환경에서 사용하도록 만들어져 있습니다.

맥이나 윈도우에서 사용 가능한 것들도 있지만, 아무래도 대규모 계산은 고성능 서버 (혹은 클러스터)에서 진행하는 것이 일반적이고, 이런 서버들은 주로 linux 운영체제를 사용합니다. 

 가벼운 연산의 경우는 PC나 워크스테이션 한대로도 어느 정도 할 수도 있고, 특히 CUDA 같은 GPU 컴퓨팅이 등장하면서 개인용 컴퓨터로도 (딥러닝 같은) 고성능의 연산이 가능해졌지만, 이런 작업에서도 여전히 linux를 많이 사용합니다. 

 

Microsoft에서 Windows Subsystem for Linux (WSL) 이라는 것을 제공합니다. 

말 그대로, 윈도우에서 리눅스를 서브시스템으로 사용할 수 있게 하는 것입니다. 

윈도우 10 부터 지원하긴 하지만, 요즘 주로 사용하는 윈도우라면 대부분 해당될 것입니다. 

예전에도 가상머신을 사용해서 윈도우에서 리눅스를 부팅하는 방법이 있었지만, 상당히 느리고 불편한 점이 많았습니다.

 WSL은 이전의 가성머신에 비해 속도가 빠르고, 그냥 리눅스로 부팅하는 것과 별로 다르지 않습니다.

 WSL2 는 좀 더 호환성이 좋아졌습니다. 

 사용자 입장에서 Linux와 WSL의 차이라고 한다면, linux를 직접 설치하면 보통 xwindows GUI 모드를 사용하지만, WSL은 기본적으로 리눅스 터미널만을 사용합니다. 그래도 GUI를 지원하는 프로그램들은 (gnuplot 등) GUI를 사용할 수 있습니다. 

 

WSL을 설치하는 방법은 여러가지가 있지만, 저는 다음과 같은 방법을 주로 사용합니다. 

 

 

윈도우 바탕화면 우클릭 -> 개인설정-> 검색메뉴: windows 기능 켜기/끄기 선택

-> Linux용 windows 하위 시스템 선택 -> 확인

을 선택하면 WSL 설치가 진행되고 재부팅됩니다. 

그럼 다음에는 실제로 사용할 리눅스를 선택합니다. 윈도우 스토어에서 선택할 수 있습니다. 

 

 

Microsoft Store -> ubuntu22.04 검색 ->다운로드

 저는 ubuntu 22.04 LTE 버전을 선택했지만, 다른 ubuntu 버전도 있고, debian이나 SUSE 같은 다른 종류의 리눅스들도 설치할 수 있습니다. 

 

 

다운로드가 끝나고 열기 버튼을 누르면 실행됩니다. 최초 실행시 설정이 진행됩니다. 

 

 

최초 실행시 username과 password를 입력받습니다. 

아이콘을 작업표시줄에 고정하면 편하게 실행할 수 있습니다. 

 

기본적으로 WSL 1로 설치되는데, WSL 2로 변경하고 싶다면 다음과 같이 진행합니다. 

 

 

windows PowerShell 를 관리자 권한으로 실행합니다. 
wsl --list --verbose 를 입력하면 현재 설치된 리눅스 버전을 확인할 수 있습니다. 
wsl --set-version Ubuntu-22.04 2
를 입력하면 WSL 버전 2로 변경됩니다. 

다시 wsl --list --verbose를 입력해서 변환이 제대로 되었는지 확인합니다.

 

다음 명령어를 사용하여 리눅스 패키지들을 최신 버전으로 업데이트합니다. 

 

$ sudo vi /etc/apt/sources.list
:%s/archive.ubuntu.com/ftp.daum.net/g
:wq
$ sudo apt update
$ sudo apt upgrade

 sudo 는 관리자 권한으로 실행하라는 명령어입니다.  apt 는 패키지 관리자 명령어입니다.

apt update 는 패키지 목록 업데이트, apt upgrade는 패키지 최신 버전 업데이트입니다. 

패키지 목록은 저장소에서 가져오는데, 저장소 서버는 여러 개가 있습니다. 기본적으로 설정된 저장소 서버는 좀 느린 편이라, 한국에 있는 서버로 지정하는 편이 빠릅니다.

경축! 아무것도 안하여 에스천사게임즈가 새로운 모습으로 재오픈 하였습니다.
어린이용이며, 설치가 필요없는 브라우저 게임입니다.
https://s1004games.com

/etc/apt/sources.list 파일에 저장소 주소들이 저장되어있습니다. 

vi 에디터로 이 파일을 열어서 저장소 주소들을 일괄 변환할 수 있습니다.  

vi 에디터에서 :%s 명령어를 사용하면, 문자열을 치환할 수 있습니다.

:wq 는 저장하고 종료하라는 명령어입니다. 

 

다음은 xwindows (GUI) 설정입니다.

리눅스에서도 gui가 필요한 경우는 많이 있습니다.

pymol 같은 GUI 프로그램을 사용하거나, gnuplot,  python의 matplotlib 등을 사용해서 그래프를 출력해보거나, 이미지 뷰어로 그림 파일을 열어볼 수도 있습니다. 

그런데, WSL만 설치해선 이런 GUI 프로그램의 출력이 화면으로 제대로 전달되지 않습니다. 

그래서 GUI 출력을 전달해주는 별도의 프로그램이 필요합니다. 

 

일단 .bashrc 파일에 다음 내용을 입력합니다. WSL2 기준

export DISPLAY=$(cat /etc/resolv.conf | grep nameserver | awk '{print 17072}'):0

WSL 버전에 따라서 이 부분이 조금 다릅니다. 

WSL 버전 1에선

export DISPLAY=localhost:0.0

를 입력합니다. 

 

윈도우에서 linux 의 xwindows (GUI)를 사용하기 위해선 xming이라는 프로그램이 필요합니다. 

설치 및 설정 방법은 다음과 같습니다. 

https://sourceforge.net/projects/xming/

에서 xming 다운로드 및 설치

탐색기에서

C:\ProgramData\Microsoft\Windows\Start Menu\Programs\Xming  입력 ->

xming 우클릭 ->속성 클릭 -> 대상에 다음 항목 입력

"C:\Program Files (x86)\Xming\Xming.exe" :0 -clipboard -multiwindow -ac

이 부분은 WSL2에서만 적어주면 되고, WSL1일 경우는 Xming 아이콘의 속성을 변경하지 않습니다. 

xming 을 실행합니다. 

xwindows가 정상적으로 출력되는지 확인합니다.

bash에서

$ sudo apt install gnuplot
$ gnuplot
gnuplot> plot x

라고 입력합니다. 

 

 

우측 그림이 뜬다면 정상적으로 설치된 것입니다.

gnuplot> exit 를 입력하여 gnuplot을 종료합니다.

 

[출처] https://novelism.co.kr/m/273

 

 

 

 

본 웹사이트는 광고를 포함하고 있습니다.
광고 클릭에서 발생하는 수익금은 모두 웹사이트 서버의 유지 및 관리, 그리고 기술 콘텐츠 향상을 위해 쓰여집니다.
번호 제목 글쓴이 날짜 조회 수
266 [C/C++ 자료구조] 아스키 코드표(ASCII Table) file 졸리운_곰 2023.08.16 8
265 [WSL2] WSL2 외부 접속 설정 file 졸리운_곰 2023.06.26 42
264 [WSL2] Mysql 자동실행 설정하기 file 졸리운_곰 2023.06.25 16
263 [visual studio] Bring Your MFC Application to the Web mfc 어플리케인 web 구동 file 졸리운_곰 2023.03.20 4
262 [C/C++][인터넷] [C++] Full-fledged client-server example with C++ REST SDK 2.10 졸리운_곰 2023.02.20 23
261 [Linux programming][turbo c] The libXbgi Library file 졸리운_곰 2023.02.05 9
260 [visual studio] [borland c] Using the WinBGIm Graphics Library with Visual Studio 2005/2008 2010 file 졸리운_곰 2023.02.05 4
» [WSL2] 윈도우에서 linux 사용 (WSL 2), xwindows GUI 설정 file 졸리운_곰 2023.01.28 18
258 [WSL2] Windows 11의 WSL2에서 리눅스 X Window 응용프로그램 실행하기 file 졸리운_곰 2023.01.28 23
257 [C/C++ 인공지능] Getting Started with mlpack 졸리운_곰 2023.01.28 12
256 [리눅스][linux] Ubuntu/Linux에서 user password를 짧거나 쉬운 password로 변경하는 방법. file 졸리운_곰 2023.01.08 6
255 [linux master][리눅스 마스터][국가기술자격] [GCP 원데이] 서버가 죽는 이유, Message Queue file 졸리운_곰 2023.01.01 12
254 [linux master][리눅스 마스터][국가기술자격] 리눅스 서버 다운 원인 5가지 졸리운_곰 2023.01.01 3
253 [WSL2] WSL에서의 Jupyter notebook 사용하기. file 졸리운_곰 2022.11.27 40
252 [docker] [Oracle] docker에 Oracle 11g 설치하기 file 졸리운_곰 2022.11.26 15
251 [linux master][리눅스 마스터][국가기술자격] Shell In A Box-원격 Linux 서버에 액세스하기위한 웹 기반 SSH 터미널 file 졸리운_곰 2022.11.17 4
250 [linux dev env] [우분투 서버] noVNC 접속 file 졸리운_곰 2022.11.16 3
249 [C/C++][인터넷] [C++] FTP Upload/Download 구현 클래스(매우 유용) file 졸리운_곰 2022.11.16 23
248 [리눅스 일반] ffmpeg에서 m4a 파일을 mp3 파일로 변환할때 생기는 오류에 관하여 file 졸리운_곰 2022.11.11 11
247 [C/C++ 언어일반] C/C++ 스마트 포인터 관련 file 졸리운_곰 2022.11.06 22
대표 김성준 주소 : 경기 용인 분당수지 U타워 등록번호 : 142-07-27414
통신판매업 신고 : 제2012-용인수지-0185호 출판업 신고 : 수지구청 제 123호 개인정보보호최고책임자 : 김성준 sjkim70@stechstar.com
대표전화 : 010-4589-2193 [fax] 02-6280-1294 COPYRIGHT(C) stechstar.com ALL RIGHTS RESERVED