Rocky Linux 8.x에서 XRDP 설치 및 사용

Rocky Linux는 Redhat Enterprise Linux(RHEL)와 호환되는 리눅스입니다. CentOS 8 이하 버전이 하던 역할과 같습니다. CentOS 9부터는 RHEL의 preview의 성격으로 변경되어 같은 버전의 RHEL과 작동의 동일성이 보장되지 않습니다.


목차

XRDP 설치

$ sudo yum install epel-release
$ sudo yum install xrdp
$ sudo systemctl start xrdp
# 시스템 시작 시 xrdp 서비스 자동으로 시작하게 하고자 할 경우
$ sudo systemctl enable xrdp

Xorg 사용 모듈 설치 및 설정

  • 설치

    $ sudo yum install xorgxrdp
  • 설정
    /etc/xrdp.ini의 [Xorg] 영역의 주석(#)을 풀어 줍니다.

    $ sudo vi /etc/xrdp.ini
    ...
    [Xorg]
    name=Xorg
    lib=libxup.so
    username=ask
    password=ask
    ip=127.0.0.1
    port=-1
    code=20
    ...

Xvnc 설치 및 설정

  • 설치
    Xvnc가 없는 경우 다음 명령을 사용하여 VNC 서버를 설치합니다.

    $ which Xvnc || sudo yum install tigervnc-server

    또는

    $ which Xvnc | sudo yum install tigervnc-server-minimal
  • 설정(옵션)
    Xfce 데스크톱을 설치하여 사용하고자 하는 경우 기본으로 설정된 32비트 색농도는 Xfce가 지원하지 못하므로 24비트로 설정으로 바꿔야 합니다. /etc/xrdp/xrdp.ini에서 '#xserverbpp=24'의 #을 제거하여 해당 설정이 적용되도록 합니다.

    $ sudo vi /etc/xrdp/xrdp.ini
    ...
    [Xvnc]
    name=Xvnc
    lib=libvnc.so
    username=ask
    password=ask
    ip=127.0.0.1
    port=-1
    xserverbpp=24
    #delay_ms=2000
    ...
    $ sudo systemctl restart xrdp

Xrdp 시작 스크립트

Rocky8에 기본으로 설치되는, xrdp의 시작 스크립트에 해당하는 startwm.sh, startwm-bash.sh 스크립트로는 접속이 되지 않습니다. 이 스크립트를 수정해야 합니다.

  • sesman.ini 파일 수정

    $ sudo vi /etc/xrdp/sesman.ini
    ...
    [Globals]
    ...
    ; Give in full path or relative path to /etc/xrdp
    ;DefaultWindowManager=startwm-bash.sh
    DefaultWindowManager=/etc/xrdp/startwm-bash.sh => 위 설명과 달리 startwm-bash.sh 이라는 시작 스크립트 파일은 /usr/libexec/xrdp/에 대한 상대 경로이므로 절대 경로를 사용합니다.
    ...
  • startwm-bash 파일 생성

    $ sudo /etc/xrdp/startwm-bash.sh
    #!/bin/sh
    /etc/X11/xinit/Xsession

    ※ 기본 세션인 Gnome 세션이 아닌 다른 세션을 실행하고자 할 경우 

    • Gnome Classic: /etc/X11/xinit/Xsession "env GNOME_SHELL_SESSION_MODE=classic gnome-session --session gnome-classic"
    • Gnome Standard: /etc/X11/xinit/Xsession gnome-session
    • Xfce session: /etc/X11/xinit/Xsession startxfce4

세션 생성 및 연결(Xorg세션 실행)

  1. Xmanager 실행

  2. '파일 → 새로 만들기 → Xmanager RDP 세션'
    XRDP 세션의 종류를 선택하기 위해서는 사용자 정보는 비워 둡니다. 사용자 정보를 입력할 경우 Xrdp의 기본 세션(Xorg)으로 접속합니다.


  3. 확인을 눌러 세션 파일을 저장합니다.

  4. 세션을 실행합니다. 


  5. 세션의 종류를 선택합니다.
    • Xorg: X 디스플레이 서버로서 Xorg X 서버를 사용합니다.
    • Xvnc: X 디스플레이 서버로서 Xvnc X 서버를 사용합니다.

  6. Xorg를 선택하고 사용자 이름과 암호를 입력합니다.

※주의: 콘솔이나 Xmanager를 이용한 세션 등의 같은 사용자 이름으로 사용 중인 XDMCP 세션이 있을 경우 RDP 세션이 생성되지 않을 수 있습니다. Rocky9의 XDMCP 세션은 기본 설정으로 하나의 사용자 세션만 허용하므로 다른 세션을 종료하거나 다음 내용을 참고하여 같은 사용자의 다중 세션이 가능하도록 설정을 하여야 합니다.

RockyLinux9.xXDMCP설정-같은사용자로하는멀티세션

Xvnc 세션 사용

  1. RDP 세션을 실행합니다.  'Session'에서 'Xvnc'를 선택합니다.


  2. 사용자 이름과 암호를 입력하고 OK를 눌러 접속을 진행합니다.