우분투 서버 원격데스크톱 설정

웨드_ |

리눅스 우분투 22.04 기준으로 서버 구축 시, 원격 데스크톱 설정을 정리했습니다. XRDP 설치부터, 원격데스크톱 접속, 첫 접속 시 발생하는 검정화면 문제까지 해결 방법을 확인해보세요!

 

우분투 원격데스크톱 설정

 

 

아래 모든 명령은 root 권한에서 실행합니다!

> sudo -s
(로그인계정 암호 입력)

 

 

 

원격데스크톱 XRDP 설정

 

1. xrdp 설치

# apt install -y xrdp

 

설치 확인

# systemctl status xrdp

 

(옵션) 2. xrdp 포트 변경  (보안을 고려하여 추천)

# vim /etc/xrdp/xrdp.ini

 

port=3389 에서 포트 번호를 수정 후 저장하기

 

/etc/xrdp/xrdp.ini - xrdp 포트 수정
/etc/xrdp/xrdp.ini - xrdp 포트 번호 수정

 

 

3. 우분투 재시작

# reboot

 

 

4. xrdp 서비스 시작

# service xrdp start

 

  • 시작 : service xrdp start
  • 재시작 : service xrdp restart
  • 중지 : service xrdp stop

 

 

5. 외부에서 원격데스크톱 접속!

저는 윈도우에서 mRemoteNG 프로그램을 사용중

  • IP : 우분투 서버의 IP 주소
  • 사용자이름 : 우분투 서버의 계정명
  • 암호 : 우분투 서버의 계정 암호
  • 프로토콜 : RDP
  • 포트 : 3389 (XRDP 기본)

 

mRemoteNG 우분투 원격데스크톱 접속
mRemoteNG 우분투 원격데스크톱 접속

 

 

 

추가 설정

 

1. 재부팅시, xrpd 자동 실행 설정

# systemctl enable --now xrdp

 

 

2. 원격데스크톱 접속 시, SSL 인증서 접근 권한 추가

원격 접속 시, 인증 관련 경고가 나오지 않게 해줌

# adduser xrdp ssl-cert

 

xrdp 재시작

# systemctl restart xrdp

 

 

3. 원격데스크톱 방화벽 설정

ufw 방화벽 설치

# apt install -y ufw

 

ufw 방화벽 활성화 및 원격데스크톱 포트 열기

# ufw enable
# ufw allow from any to any port 3389
(3389는 원격데스크탑 포트 번호)

 

xrdp 재시작

# systemctl restart xrdp

 

 

 

문제 해결

 

1-1. 원격데스크톱 접속 시, 검정화면 뜨는 문제 해결 - 설정 수정

#  vim /etc/xrdp/startwm.sh

 

startwm.sh 파일에서 스크린샷과 같이 아래쪽에 아래 3줄을 추가

unset DBUS_SESSION_BUS_ADDRESS
unset XDG_RUNTIME_DIR
$HOME/.profile

 

원격데스크톱 접속 시, 검정화면 뜨는 문제 startwm.sh
원격데스크톱 접속 시, 검정화면 뜨는 문제 startwm.sh

 

xrdp 재시작

# systemctl restart xrdp

 

 

2-2. 원격데스크톱 접속 시, 검정화면 뜨는 문제 해결 - xfce4 설치

(xrdp는 이미 설치되어 있어야 합니다)

# apt install -y xfce4

 

환경 설정

# echo "xfce4-session" > ~/.xsession
# cat ~/.xsession  # 정상변경여부 확인

 

xrdp 서비스 재시작

# service xrdp restart

 

 

3. 그래도 원격데스크톱 접속 시, 블랙스크린이 뜬다면?

  • 우분투를 로그오프(reboot 하고 로그인하지 않은 상태)에서 시도
  • 가상컴퓨터 호스트OS 점검 : 방화벽 포트 열기
  • 공유기 점검: 포트포워드 설정
  • ..검정화면에서 조금 더 기다려보고, 화면도 클릭해봅시다

 

 

4. 원격데스크톱이 crash 난 경우, 강제 해결 방법

원격 접속 중인 PID 확인

# cat /var/run/xrdp/xrdp-sesman.pid
(PID 번호 기억하기)
# cat /var/run/xrdp/xrdp.pid
(PID 번호 기억하기)

 

확인된 PID 죽이기 (필요한 경우, pid 파일 강제 삭제)

# kill -9 [PID]
# rm /var/run/xrdp/*.pid 

 

xrdp 서비스 재시작

# service xrdp restart

 

포트 Listen 상태로 뜨면 정상

# netstat -nap | grep 3389

 

tcp        0      0 0.0.0.0:3389           0.0.0.0:*               LISTEN      ???/xrdp

 

 

 

이어서, 우분투 SSH 원격 터미널 설정 바로가기!