본문 바로가기
기타/Windows

[Windows] WSL을 이용한 이클립스(Eclipse) 개발환경 구축

by A6K 2022. 3. 3.

윈도우 WSL 리눅스에 소스코드를 받고, 리눅스 용 이클립스를 실행시켜 개발하는 환경을 구축해보자. Windows에서 인텔리제이로 WSL내에 있는 프로젝트를 열다가 잘 안되서 이클립스를 WSL 안쪽에 설치하고 GUI로 구동시키는 방법을 찾아봤다.

우선 윈도우에 WSL이 설치되어 있다고 가정하겠다. 윈도우에 WSL을 설치하는 방법은 다음 아티클을 참고하도록 하자. (링크 : [Windows] WSL에 CentOS 7 설치 및 삭제)

GUI 환경 준비

WSL에서 동작하는 GUI 프로그램이 화면에 그래픽을 뿌릴 수 있도록 VcXsrv Windows X Server를 설치한다. https://sourceforge.net/projects/vcxsrv/ 에서 다운로드한 다음 실행하자.

VcXsrv를 설치해준다. 설치후에는 XLaunch라는 아이콘이 생길텐데 실행해준다.

첫 번째 화면은 VcXsrv가 윈도우에 GUI를 표시할 방법을 선택하는 화면이다. 기본 값으로 진행해보자.

두 번째 화면은 VcXsrv 시작시 Xserver 기능만 시작할지, 클라이언트까지 실행할지를 설정한다. 기본 값으로 진행한다.

우선 Clipboard 항목을 선택하고 Native opengl은 해제한다. Disable access control 항목은 체크를 해주고 ‘Additional parameters for VcXsrv’ 입력창에는"-ac"를 입력해준다.

이제 설정한 대로 VcXsrv가 실행된다. 매번 이 설정을 변경하기 싫다면 ‘Save configuration’ 버튼을 눌러서 설정 값을 파일로 저장해두자.

마침을 눌러 진행한다.

방화벽에서 일부 기능을 차단했다. 액세스를 허용해주자. 둘다 체크해주자. (둘다 체크 안했다가 이것저것 삽질을 좀 했다.)

이제 윈도우에서 WSL이 보낼 그래픽을 받을 준비가 되었다.

WSL 설정

이제 WSL 리눅스에게 디스플레이 정보를 알려줘야한다. 방법은 간단하다.

export DISPLAY=윈도우IP:0

이걸 실행하면된다.

하지만 매번 세션을 열때마다 export를 치기에는 귀찮으니까 ~/.bashrc에 다음을 입력해주자.

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

이렇게 설정해두고 WSL 배포판을 재시작해준다. 이건 Powershell이나 cmd에서 해야한다.

PS> wsl --shutdown
PS> wsl -d CentOS

이제 WSL에서 GUI 앱을 실행하면 윈도우에 창이 뜬다. 테스트를 위해 gedit을 설치하고 실행해보자.

$ yum install gedit
$ gedit ~/.bashrc

그러면 몇 가지 경고 메시지가 뜨긴하지만

gedit 윈도우가 윈도우즈에 뜬다.

이클립스 설치

우선 이클립스를 다운로드하자.

https://www.eclipse.org/downloads/packages/

링크로 들어가서 리눅스 버전을 다운로드 한다. 윈도우에서 WSL 파일 시스템에 접근하는 방식이 아니라 WSL에서 이클립스를 구동하는 방식을 사용할꺼라 리눅스 버전을 다운로드해야한다. 다운로드해서 접근하기 좋은 적당한 위치에 옮겨두자.

wsl 터미널에서 다운로드한 이클립스 타르볼을 복사한다. WSL에서는 윈도우 파일 시스템의 드라이브들을 /mnt 디렉토리 밑에서 접근할 수 있다.

예를 들어

$ cp /mnt/d/ecipse-java-2021-12-R-linux-gtk-x86_64.tar.gz .
$ tar -xvf ecipse-java-2021-12-R-linux-gtk-x86_64.tar.gz

이런식으로 접근하면 D:\ 에 저장해둔 이클립스 타르볼 파일을 홈 WSL 홈 디렉토리로 옮겨올 수 있다. 옮겨온 이클립스 타르볼을 풀어준다.

$ cd eclipse
$ ./eclipse

실행하면 이클립스 화면이 뜬다.

이제 워크스페이스 지정하고 열심히 개발하면 된다.

댓글