윈도우 원격접속을 이용해서 Ubuntu GUI 환경으로 접속을 위해 xrdp 를 이용할 수 있다.

 

우선 하기와 같이 xrdp vnc3server tightvncserver를 삭제한다. 해당 서비스의 경우 높은 확률로 vnc error ( VNC error - problem connecting)를 발생시키기 때문이다.

이후 다시 tightvncserver, xrdp를 설치한다.

 

$ sudo apt-get remove xrdp vnc4server tightvncserver
$ sudo apt-get install tightvncserver
$ sudo apt-get install xrdp

 

Ubuntu 계정의 home 디렉토리에 .xsession 파일을 생성한다. 그리고 .xsession 파일 안에 하기와 같이 기재한다. 

해당 명령은 Ubuntu 연결 시 default GUI를 설정해 주는 것으로 Ubuntu 18.04나 20.04 버전은 gnome이다. 

 

$ gnome-session –session=gnome-fallback

 

추가로 본인의 GUI환경이 잘 설치되어 있는지도 확인한다. sudo systemctl statud gdm3 명령을 수행했을 때 Active: active (running) 으로 나오면 정상이다.

 

$  sudo systemctl status gdm3

 

● gdm.service - GNOME Display Manager
   Loaded: loaded (/lib/systemd/system/gdm.service; static; vendor preset: enabled)
   Active: active (running) since Fri 2023-03-03 13:29:42 KST; 3 weeks 5 days ago
 Main PID: 1227 (gdm3)
    Tasks: 3 (limit: 4915)
   CGroup: /system.slice/gdm.service
           └─1227 /usr/sbin/gdm3

 

위와 같이 나오지 않을 경우 별도 Unbuntu용 GUI 환경을 설치해 주거나 gdm3 서비스를 띄워야 한다.

 

//  gdm3가 없다면 굳이 패키지를 지울 필요는 없다.

$ sudo apt remove --purge -y gdm3    
$ sudo apt autoremove --purge -y

 

// 하기와 같이 gdm3 를 재설치하고 서비스를 시작한다.
$ sudo apt install gdm3 -y
$ sudo systemctl start gdm3.service

 

// 서비스가 잘 수행되고 있는지 확인

$ systemctl status gdm3

 

// 경우에 따라 시스템 재시작이 필요할 수도 있다.

$ sudo reboot

 

이제 xrdp도 띄워야 한다. 우선 xrdp가 잘 띄워져 있는지 먼저 확인한다. 

 

$ sudo systemctl status xrdp


● xrdp.service - xrdp daemon
   Loaded: loaded (/lib/systemd/system/xrdp.service; enabled; vendor preset: enabled)
   Active: active (running) since Thu 2023-03-30 11:48:23 KST; 18min ago
     Docs: man:xrdp(8)
           man:xrdp.ini(5)
 Main PID: 21249 (xrdp)
    Tasks: 2 (limit: 4915)
   CGroup: /system.slice/xrdp.service
           ├─21249 /usr/sbin/xrdp
           └─22307 /usr/sbin/xrdp

 

만약 Active: inactive (dead) 거나 Active: fail 이면 다음 명령을 수행한다.

 

$ sudo systemctl start xrdp

 

참고로 서비스를 내리거나 다시 시작하는 명령은 다음과 같다.

 

$ sudo systemctl stop xrdp  
sudo systemctl restart xrdp

 

xrdp의 기본 포트는 3389 포트이며 포트가 잘 열려있는지 netstat -lntp 명령을 통해서 확인해야 한다. xrdp 서비스가 시작된 상태에서 아래와 같이 tcp6 3389 ... LISTEN 가 보이면 열려있는 것이다.

 

$ netstat -lntp

 

(Not all processes could be identified, non-owned process info
 will not be shown, you would have to be root to see it all.)
Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address           Foreign Address         State       PID/Program name
                             ... (중략) ...
tcp6       0      0 :::3389                 :::*                    LISTEN      -

 

포트가 잘 떠있어도 Ubuntu 방화벽에서 차단하면 의미가 없다. 아래와 같이 방화벽에 포트를 등록한다.

 

ufw allow 3389

 

여기까지 실행되었다면 잘 되고 있는 것이다. 이제 윈도우에서 원격데스트톱 호출을 실행해 보자. 접속 Session은 Xorg로 한다.

 

□ 관련 페이지

- xrdp 원격 접속, 검은 화면 해결(black screen)    https://driz2le.tistory.com/533

 

xrdp 원격 접속, 검은 화면 해결(black screen)

윈도우 환경에서 우분투 원격 접속 할때, 접속은 되지만 검은 화면(black screen)만 보이는 경우가 많다. (사실 대부분...?) 이 경우, xrdp X session start script에 아래 세 줄을 추가해서 해결할 수 있다. uns

driz2le.tistory.com

 

반응형

+ Recent posts