2023.04.12
개인 기록용 입니다 :) 오타, 수정 등 피드백 환영
자바를 우분투로 복습하려 했으나
가상환경이나 가상머신이나
처음 세팅이 너무나 어렵단걸 느꼈고
다신 까먹지 않기 위해 기록한다
WSL 세팅이 안되었다면
이전 링크 참조 : WSL2 Ubuntu 설치
1. JAVA 설치
만일 자바와 eclipse를
기존 윈도우에서 깔았다면
eclipse 파일만 리눅스 전용으로
다시 받아오면 된다
참조 : ECLIPSE 다운로드
위 링크에서 리눅스 전용 64비트 다운로드 하면 tar.gz 파일로 다운로드가 될 것이다 Ubuntu 실행 후 자바 설치 아래 명령어를 따라 입력한다
# 1. apt 업데이트
$ sudo apt update
# 2. java 설치
$ sudo apt install openjdk-8-jdk
# 3. java 설치 확인
$ java --version
$ javac --version
이후 자바 환경설정을 위해
아래 명령어를 따라 입력한다
# 1. javac 위치 확인
$ which javac
# /usr/bin/javac
# 2. javac 위치 확인
$ readlink -f /usr/bin/javac
# /usr/lib/jvm/java-8-openjdk-amd64/bin/javac
# 3. environment에 등록
$ sudo vi /etc/enviroment
# >>>> 자바 경로 입력 후 저장
JAVA_HOME="/usr/lib/jvm/java-8-openjdk-amd64"
# >>>>
# 4. 변경사항 저장 후 확인
$ source /etc/environment
$ echo $JAVA_HOME
참고 : great-developer
본인은 8버전으로 실행하고 있기 때문에
위 명령어와 동일하게 입력하였고
별도의 버전 설치가 필요하다면
java 뒤의 버전 숫자만 바꿔주자
2. eclipse 설치
다운로드 받은 tar.gz 파일을
리눅스로 옮겨준다
wsl 은 윈도우와 파일을 공유시킬 수 있는데
wsl 설치가 마친 사람이라면
파일탐색기에 아래와 같은
환경을 찾을 수 있다
다운로드 받은 tar.gz 파일을 잘라내기 한 후
Linux -> Ubuntu -> home -> 생성한 username 폴더
로 들어가서 붙여넣기 해준다
Ubuntu를 실행하고
바로 나오는 위치가 해당 위치이다
처음엔 ls 로 해당 위치에 있는 파일을 찾아보아도
아무것도 뜨지 않지만
tar.gz 파일을 옮겨놓았다면
해당 파일이 ls 명령어로 확인 가능할 것이다
해당 위치에서 압축을 해제해준다
$ tar -zxvf eclipse-java-2023-03-R-linux-gtk-x86_64.tar.gz
// -zxvf 뒤에는 파일명
그러면 eclipse 폴더가 만들어지고
폴더 안에 eclipse 관련된 파일들이 즐비해있다
이제 실행하면 끝!
3. Ubuntu GUI 설정
인줄 알았으나
한가지 간과한 점이 있다
현재 Ubuntu 에는
GUI 를 보여줄 수 있는 기능이 없어
아무리 eclipse 설치가 끝났다 해도
실행한다 한들 한번 껌벅이고
실행하는 모습은 볼 수 없다
따라서
WSL 에서 GUI 를 보여줄 수 있는
파일을 설치하고
서버 설정을 따로 해줘야 한다
본인이 쓰고 있는 파일은
VcXsrv 이다
참고 : VcXsrv 참고 링크
해당 링크에서 다운로드 후
실행을 시킨다
4. 본인 컴퓨터 IP 주소 등록
VcXsrv 를 통해 GUI 를 보이기 위해선
내 컴퓨터가 쓰고 있는 IP 주소를 등록해야 한다
그런데 윈도우가 쓰고 있는 IP가 아닌
WSL 가 쓰고있는 IP를 등록해야 한다
그럼 이 IP는 어디서 알 수 있을까?
Ubuntu 가 실행되어 있는 상태에서 cmd 창에서 ipconfig 명령을 통해 알 수 있다
Ubuntu 실행 후 ls 를 해보면
아무것도 없는것 같지만
cd .. 를 통해 바깥으로 나가다보면
최상위 폴더가 존재한다
그곳에서 ls 를 해보면
$ cat etc/resolv.conf
// Ubuntu 내 IP 주소 확인
이렇게 두가지 방식으로 알아볼 수 있고
이것으로 확인된 IP 의 주소에
마지막에 :0 을 붙여주는 식으로
IP 등록을 해준다
마치 환경변수 설정해주듯이 하면 되고
지금 Ubuntu 에 bash 로 실행이 되고 있으니
해당 파일을 손봐주자
$ vi ~/.bashrc
// bash 문서 파일 수정 -> i를 눌러 -- INSERT -- 모드 활성화
export DISPLAY=위에서 확인한 IP 주소:0
이렇게 하면 들어올때마다 수동으로
환경변수 설정을 해주어야 하니
$ cat etc/resolv.conf
를 활용하여 명령어를 넣어두자
$ vi ~/.bashrc
// bash 문서 파일 수정 -> i를 눌러 -- INSERT -- 모드 활성화
export DISPLAY=$(cat etc/resolv.conf | grep nameserver | awk '{ print $2 }'):0
// 입력 후 esc -> :wq 를 입력해 저장 후 나오기
이렇게 IP 등록까지 마칠 수 있다
5.실행해보기
IP 등록과 함께
GUI 실행이 원활히 되나 확인차원에서
Ubuntu에 아래와 같이 명령어를 쳐본다
$ gedit
잘 실행이 되면
이런식으로 모습이 보이고
실행이 되지 않으면
가만히 있는 상태로 멈춰 있거나
오류 발생을 알려줄 것이다
모든 준비가 마치게 되었으니
eclipse 를 실행하여
아무거나 출력까지 진행해보자
// Ubuntu -> eclipse 폴더 진입
$ cd eclipse
// eclipse 실행
$ ./eclipse
우분투에서의 실행이 잘 이루어졌고
간단한 출력도 진행할 수 있는
정상적인 eclipse 설치가 완료되었다 😂
🙌 주의 🙌
이클립스 실행 도중 아래와 같은 오류가 발생할 수 있다
WARNING : Couldn’t connect to accessibility bus ~
📌해결책
$ vi ~/.bashrc
를 통해 다시 문서 작성에 들어가서 아래와 같이 작성해준다
NO_AT_BRIDGE=1
그리고 저장하고 나오면 오류 발생이 사라짐을 알 수 있다
이 명령어에 대해선 아래 링크에 자세히 설명되어 있다 참고 : forum.xfce.org
추측하자면 gtk 관련된 문제인것 같은데
아마 WSL 활용으로 인해
rootuser 와 local 유저가 혼동이 생겨
그걸 하나로 바로잡아 주는 명령어가 아닐까 싶다
해외에서도 이 명령어가 왜 오류를 잡아주는지에 대한
명확한 이유를 찾지 못하지만
한 유저가 테스트하며 이런식으로 추측한 글이 있어 공유해본다 😉
회고 )