Ubuntu 22.04 LTS XRDP 세션 재연결 (feat. gnome -> xfce4 변경)

XRDP를 이용하여 GUI 환경을 원격으로 사용 할 수 있다. 그러나 윈도우즈와는 다르게 재접속시 작업 중이던 환경은 모두 날라가고 새로운 세션으로 연결 되는 치명적인 단점이 있다.

세션이 증발하는 현상을 막기 위해 1주일간 구글링과 온갖 삽질을 해본 결과 gnome 데스크톱 환경의 버그인 것으로 결론 내렸다. 16.04 LTS 버전부터 해결 되지 않고 지금까지 해당 버그가 있는 것으로 판단 된다.

이러한 문제를 근본적으로 해결하는 방법은 아직 없는 것 같으며 gnome 환경을 xfce4로 변경하여 임시 해결책이 있다는 것을 알게 되었다.

이번 글에서는 xfce4 설치 및 xrdp 재설정을 할 것이다.

1. xfce4 설치

명령어 1줄로 간단하게 설치 가능하다. (설치 오류시 apt-get update 후 재시도 할 것!)

$ sudo apt-get install xfce4

2.xrdp 설정 변경

x11 환경이 제대로 실행 될 수 있도록 홈 디렉토리에 .xession 파일을 만들어 준다

$ echo xfce4-session > ~/.xsession

다음으로는 xrdp에서 기존의 그놈 환경과 새로설치한 xfce4가 충돌이 일어나지 않도록 startwm.sh 파일을 수정 해준다.

$ sudo nano /etc/xrdp/startwm.sh

13번째 줄과 14번째 줄을 주석처리한다

test -x /etc/X11/Xsession && exec /etc/X11/Xsession 
exec /bin/sh /etc/X11/Xsession

위 2줄을 주석 처리하면 된다.

그리고 맨 마지막 줄에 아래의 코드를 추가한다.

test -x /usr/bin/startxfce4 && exec /usr/bin/startxfce4
exec /bin/sh /usr/bin/startxfce4

재부팅을 하고 이후부터는 세션 유지가 가능하다 (로그아웃시 다음 로그인에 대비하여 세션 저장 체크를 반드시 해야한다!!!)

사진 1: 체크는 필수!

++ 내용 추가)

xfce4 환경도 gnome 환경과 마찬가지로 비정상적으로 접속이 종료 된 경우에는 똑같이 세션이 증발한다…. 수시로 저장 및 백업은 필수 인 것 같다!