일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | 31 |
- implicit
- 티베로
- VMware
- X11
- 파이썬
- tablespace
- OPEN CURSOR
- vm tac 구성
- tac
- 코딩테스트
- DDL 추출
- 묵시적 커서
- 코테
- VM 설정
- 암시적 커서
- python3.7
- 리눅스
- db
- CentOS
- oracle
- Tuple
- Python
- vm
- golang
- Linux
- X11 forwarding
- 프로그래머스
- tibero
- terraform
- tas tac
- Today
- Total
줄기세포
[클라우드 개발 환경설정 - GUI] 클라우드 서버에 개발 환경 구성 - 어느 Client PC에서나 같은 환경에서 개발할 수 있도록 구성하기 ( Xshell, VScode ,Golang ,Xming ) 본문
[클라우드 개발 환경설정 - GUI] 클라우드 서버에 개발 환경 구성 - 어느 Client PC에서나 같은 환경에서 개발할 수 있도록 구성하기 ( Xshell, VScode ,Golang ,Xming )
줄기세포(Stem_Cell) 2021. 11. 14. 02:23KT 클라우드를 이용했습니다.
클라우드 서버에 ssh 접속을 위해서 방화벽 오픈 및 접속설정을 해주셔야 합니다.
>> 환경구성을 시도한 이유
1. 클라우드 서버에서 golang을 개발하고 싶다. -> 어느 PC에서 개발해도, 환경을 동일하게 유지할 수 있다. (물론 비용은 더 비싸다.)
2. Linux에서 vi로 개발하지 않고, VScode IDE를 이용하고 싶다.
3. 코드를 작성하고 바로 App을 재실행하여 서버에 반영할 수 있다.
>> 처음 생각한 환경설정 흐름
1. x11 설치 및 관련 패키지 & 설정
2. vscode 설치 및 관련 패키지 & 설정
3. golang 설치 및 관련 패키지 & 설정
------------------------------------
시작
1. Client PC 설정
제가 사용한 PC는 Window 환경이고 11에서 작업하였습니다. (윈10과 같은 방법으로 진행하면 된다고 생각합니다.)
1-1. Xshell, Xming 다운로드 & 설치
Xshell 다운로드 및 설치 (google 검색) / 업무용이 아니라면 학생용으로 신청하면 됩니다.
Xming X Server 다운로드 (google 검색)
+ Xming-fonts-setup 도 같이 설치하면 좋습니다.
VcXsrv 다운로드 및 설치 (다운로드 링크: https://sourceforge.net/projects/vcxsrv/ )
(VScode를 X11 Forwarding 으로 사용하려면 Xming 대신 VcXsrv 를 사용해야 한답니다.)
1-2. Xshell에 세션에 Xdisplay 터널링 설정
1-3. VcXsrv 을 설치하면 생기는 실행파일 (XLaunch) 실행
2. Server X11 설정
2-1. ssh X11 Forwarding 설정
([출처] : CentOS 7 Server _ X11 forwarding 설정 가이드 | 작성자 NAVER Cloud Platform)
/etc/ssh/sshd_config에서 X11Forwarding 변경
$vi /etc/ssh/sshd_config
AddressFamily any -> AddressFamily inet 로 수정
X11Forwarding yes
X11DisplayOffset 10
X11UseLocalhost no
UseLogin no
$ systemctl restart sshd # sshd 재시작
2-2. xorg-x11, xclock 패키지 설치 및 확인
$ yum group install "GNOME Desktop" -y
$ yum install xorg-x11-apps -y
$ yum install xorg-x11-xauth -y
$ yum install xorg-x11-server-Xorg -y
$ yum install xorg-x11-utils -y
$ yum install xclock -y # x11 테스트 용으로 사용 (필수패키지 아님)
$ rpm -qa | grep xorg # 설치 패키지 확인
xorg-x11-xkb-utils-7.7-14.el7.x86_64
xorg-x11-server-common-1.20.1-5.6.el7_6.x86_64
xorg-x11-server-utils-7.7-20.el7.x86_64
abrt-addon-xorg-2.1.11-57.el7.centos.x86_64
xorg-x11-xauth-1.0.9-1.el7.x86_64
xorg-x11-utils-7.5-23.el7.x86_64
xorg-x11-font-utils-7.5-21.el7.x86_64
xorg-x11-apps-7.7-7.el7.x86_64
xorg-x11-server-Xorg-1.20.1-5.6.el7_6.x86_64
2-3. X11 인증기록 파일 생성
$ touch /root/.Xauthority
$ chmod 600 /root/.Xauthority
재부팅
$ reboot
2-4. DISPLAY 환경변수 설정 및 xclock 실행
$ vi ~/.bash_profile
export DISPLAY=localhost:10.0
$ source ~/.bash_profile
$ xdpyinfo # 결과값이 나와야 함
$ xclock
아래와 같이 뜨면 성공
3. VScode (Visual Studio Code) 설치
IDE로는 VScode가 안정성 및 여러 언어를 지원하는 점에서 선택하였습니다.
사실 atom밖에 안써봐서 써보려고 시도해봤습니다.
3-1. MS GPG Key 가져오기
$ sudo rpm --import https://packages.microsoft.com/keys/microsoft.asc # sudo를 쓰지않고 root 권한해도 됨
3-2. Visual Studio Code 저장소 활성화
yum repo 경로에 vscode repo를 생성하고 아래 내용을 붙여넣는다.
$ vi /etc/yum.repos.d/vscode.repo
[code]
name=Visual Studio Code
baseurl=https://packages.microsoft.com/yumrepos/vscode
enabled=1
gpgcheck=1
gpgkey=https://packages.microsoft.com/keys/microsoft.asc
3-3. 설치
$ yum install code
4. VScode 실행
4-1. vscode를 사용할 유저 생성
$ groupadd dev -g 1030
$ useradd lango -g dev -u 1030 # golang 개발을 해보려 하니까, user이름은 lango로 했슴다
4-2. user에도 DISPLAY 환경변수 설정 및 .Xauthority 파일을 copy
$ cp /root/.Xauthority /home/lango/.Xauthority
$ chown -R lango:dev /home/lango
$ su - lango
$ vi ~/.bash_profile
export DISPLAY=localhost:10.0
$ source ~/.bash_profile
4-3. xclock test
xclock 명령어로 시계가 뜨는지 확인한다.
$ xclock
4-4. code 명령어 실행
$ code
VScode가 GUI로 실행된 것 까지 확인하였습니다.
추후에 Golang 환경설정을 해보겠습니다.
일반적으로 Server에서 X11을 통해서 VScode를 실행하는 경우보다는
VScode를 Client PC(내PC)에 설치하고, VScode를 원격서버에 연결하는 케이스가 일반적인 것 같습니다.
(VScode에서 Remote Development를 사용하여 원격서버에 접속하는 방법)
추가로 아래 방법도 진행하면 유저 로그인하여도 .Xauthority 파일 복사없이 사용할 수 있다.
https://novice-data.tistory.com/43
참조
https://blog.naver.com/n_cloudplatform/221451047036
https://chhanz.github.io/linux/2021/05/25/yum-groupinstall/
https://evols-atirev.tistory.com/28
https://jjeongil.tistory.com/1463
'Linux' 카테고리의 다른 글
[Linux] bash history 명령어 및 기록 삭제 (0) | 2021.12.08 |
---|---|
[.Xauthority 권한 설정] 모든 유저가 추가 조치 없이 x11 forwarding 사용할 수 있도록 환경설정 하는 방법 (0) | 2021.11.16 |
[X11 Forward] 클라우드 서버 SSH - GUI 사용방법 (xshell, xming, X11 Forwarding) (0) | 2021.11.14 |
[Linux] (기초) Vi 편집기 - 문자열 찾기 (0) | 2021.06.16 |
[Linux] 라이브러리 의존성 확인법 rpm (0) | 2021.06.11 |