Linux(CentOS 7)에 GUI(GNOME Desktop), 원격연결(xrdp) 세팅하기 feat. Oracle Cloud

2021. 11. 17. 16:32[개발] 지식/리눅스

Linux(CentOS 7)에 GUI(GNOME Desktop), 원격연결(xrdp) 세팅하기 feat. Oracle Cloud

개발하면서 구글링을 많이 하게 되는데, 대부분 블로그 글을 보게 된다. 그런데 문제는 서로가 서로를 복사해서 그런지 내용이 전부 똑같다. 10개를 검색하면 8개는 동일한 내용을 보게 된다. 그런데 문제는 그 방법이 나한테 통하지 않았을 때다. 특히 뭘 모르는지도 모르는 상태에서 검색하는 것은 어렵기 때문에 똑같은 7~80%의 내용들을 헤쳐가면서 새로운 정보를 찾기란 참 비효율적인 일이다.

리눅스는 나에게 생소한 편이다. 그나마 사용한 것이 운영을 하게 되면서 서버 리눅스를 조금 만져보는 정도였다. 그런데 지금은 이직으로 인해 개발환경이 많이 바뀌게 되었고, 리눅스를 주로 활용해야 했다. 그 와중에 GUI를 설치할 필요가 있었고 역시나 구글링을 통해, xrdp를 설치해서 원격으로 접속하면 된다는 사실을 알게 되었다. 그런데 문제는 원격 접속을 해서 로그인할때마다 튕기는 문제가 발생했다. 여기저기 헤맸지만 xrdp 설치 및 세팅 방법만 나올뿐 튕기는 것에 대한 해결책은 찾을 수 없었다.

하지만 원인은 단순했다. GUI 를 설치하지 않았기 때문이었다. -_- 리눅스 초보인 나는 이런 사실도 모른채 rdp만 연결하려고 했으니.. 아무도 알려주지 않았고, 검색도 힘들었으며, 검색해봤자 xrdp 설치법만 주구장창 나와서 너무 답답했다. 그런데 개발하면서 이런일이 한두번이 아니니.. 나는 적어도 전체적인 맥락을 잡을 수 있는 정도로는 포스팅해야겠다고 생각했다.

결론은 xrdp와 gui는 별개다..

GUI(GNOME Desktop) 설치

1. OS 확인

먼저 GUI를 설치해야 한다. 그전에 OS 스펙을 확인해본다.

cat /etc/os-release

CentOS 7을 사용중이다.

2. group 리스트 확인

설치가능한 group 리스트를 확인한다.

yum group list

3. group 설치

그 중에서 "GNOME Desktop" "Graphical Administration Tools" 을 설치해야 한다. 아래 명령어로 그룹설치한다. 시간이 꽤 걸린다.

yum groupinstall "GNOME Desktop" "Graphical Administration Tools"

4. runlevel 변경

GUI로 시스템을 시작하기 위해 runlevel을 변경한다.

sudo ln -sf /lib/systemd/system/runlevel5.target /etc/systemd/system/default.target

5. reboot

reboot

sudo reboot

원격 접속 세팅 (xrdp)

1. EPEL Repository 등록

yum -y install epel-release

CentOS 7의 기본 epel에는 xrdp가 없으므로 별도 추가가 필요하다.

2. xrdp, tigervnc-server 설치

yum -y install xrdp tigervnc-server

VNC(Virtual Network Computing)을 구현하는 xrdp, tigervnc-server를 설치한다.

3. xrdp 서비스 시작

systemctl start xrdp.service

서비스 시작

systemctl status xrdp.service

서비스 확인

● xrdp.service - xrdp daemon
   Loaded: loaded (/usr/lib/systemd/system/xrdp.service; enabled; vendor preset: disabled)
   Active: active (running) since Wed 2021-11-17 06:01:20 GMT; 50min ago
     Docs: man:xrdp(8)
           man:xrdp.ini(5)
 Main PID: 1906 (xrdp)
    Tasks: 1
   CGroup: /system.slice/xrdp.service
           └─1906 /usr/sbin/xrdp --nodaemon

active (running) 이라고 뜨면 정상이다.

4. xrdp 서비스 등록

systemctl enable xrdp.service

재부팅 이후에도 자동으로 시작되도록 xrdp 서비스를 등록한다.

5. 방화벽 해제, 재시작

firewall-cmd --permanent --zone=public --add-port=3389/tcp
success

방화벽 해제 → success

firewall-cmd --reload

재시작 → success

Oracle Cloud 포트 개방

나의 경우는 Oracle Cloud를 사용하고 있는데, 방화벽 해제와는 별개로 포트(Port) 개방작업을 해주어야 한다. Oracle Cloud 웹서비스에서 해결할 수 있었으므로 이를 소개한다. 아마 플랫폼과는 별개로 포트개방은 해주어야 할 것이다. 여기서는 Oracle Cloud만 다룬다.

왼쪽 상단에 메뉴 버튼을 눌러, Networking - Virtual Cloud Networkds(VCN) 으로 들어간다.

내가 만든 가상 클라우드 네트워크 목록이 보인다. 클릭해서 들어가면..

서브넷 리스트가 나오고, 다시 클릭..

Security List가 나오고 다시 클릭

여기서 Add Ingress Rules를 눌러서 RDP(3389)를 개방해야 한다.

이렇게 적고 Add Ingress Rules 클릭하면 끝난다.

Windows - 원격 데스크톱 연결

Windows에서 원격 데스크톱 연결 앱을 통해서 CentOS에 접속할 것이다. 해당 앱을 실행한 후, : 형식으로 적고 접속한다. 예를들면 아래와 같은 식이다. 포트는 위에서 3389 기본값으로 설정했다.

123.123.123.123:3389

접속하면 아래와 같은 로그인 창이 뜨는데, 여기서 계정과 비밀번호를 입력하고 OK 버튼을 클릭하면 된다.

만약 패스워드 설정이 안되어 있다면, root 계정으로 로그인 한 뒤에

passwd <계정이름>

를 입력해서 접속하고자 하는 계정의 비밀번호를 세팅해주고 다시 시도하면 될 것이다.

Ref.

CENTOS 7에 XRDP 설치하기

Oracle Cloud_ Xrdp Port 열어주는 방법

[Linux] CentOS 7 xrdp를 사용하여 GUI 원격 접속하기.

CentOS 7 GUI 설치 (GNOME Desktop)

Install Gnome GUI on CentOS 7 / RHEL 7 - ITzGeek

<