데보션앱 소개페이지 바로가기
로그인 선택

신고하기

CLOSE
신고사유 (대표 사유 1개)
상세내용 (선택)
0/200
  • 신고한 게시글은 더 이상 보이지 않습니다.
  • 이용약관과 운영정책에 따라 신고사유에 해당하는지 검토 후 조치됩니다.
  • 허위 신고인 경우, 신고자의 서비스 이용이 제한될 수 있으니 유의하시어 신중하게 신고해 주세요.
(이 회원이 작성한 모든 댓글과 커뮤니티 게시물이 보이지 않고, 알림도 오지 않습니다.)

미리보기

커뮤니티

      1,234

      badge 23.06.15

      글 등록

      카테고리를 선택해주세요.

      DEVOTEE를 활성화 시키면
      지금 작성한 커뮤니티 글에 대해 1개의 댓글을 달아줍니다.

      버튼을 누르면 글 수정 시 ChatGPT가 작성한 댓글이 수정됩니다.

      임시저장함에 저장되었습니다. 저장일시 : 2022.5.17 14:29:08

      임시저장함

      제목을 선택하시면 이어서 작성이 가능하며,
      최대 20건까지 저장합니다.
      컨텐츠 유형, 제목, 저장일시, 삭제로 이뤄진 임시저장 목록
      컨텐츠 유형 제목 저장일 삭제

      데보션 블로그 게재 요청

      CLOSE
      • *
      • *

      본인인증

      효율적인 데보션 서비스 이용 및
      고객님의 소중한 개인정보보호를 위해
      본인인증을 진행해주세요. 본인인증 미 진행 시 로그인이 제한됩니다.
      본인인증 실패

      본인인증 로그인에 실패하였습니다.
      회원이 아니시거나 본인인증 등록이
      완료되지 않은 사용자입니다.

      회원정보 연결

      XRDP로 헤드리스 GPU 서버에 원격 GUI 접속하기

      broccoli 25.07.21
      3,687 4 2
      DEVOTEE 요약
      Ubuntu 서버에 GPU를 활용한 헤드리스 환경에서 GUI 접근을 위해 XRDP를 설치하고 설정하는 방법을 소개합니다. XRDP는 원격 데스크톱 프로토콜(RDP) 클라이언트를 통해 Ubuntu 서버에 접속할 수 있는 오픈소스 솔루션으로, Mac의 Windows App으로 원격 GUI 접속이 가능합니다. 이를 통해 그래픽 애플리케이션 관리, 디버깅, 작업 모니터링 등을 효율적으로 수행할 수 있습니다.
      DEVOTEE 추천 블로그

      요즘 온프레미스 환경 구축을 활발히 진행하고 있습니다.

      특히 GPU가 장착된 서버를 다루고 있는데, 이 서버들이 헤드리스 상태로 운영되기 때문에 GUI를 활용해야 할 경우에 대한 솔루션이 필요했습니다.

      GPU 가속 컴퓨팅 환경(예: 머신 러닝, 과학적 시뮬레이션 등)에서는 서버가 헤드리스(headless) 상태로 동작하기 때문에 그래픽 사용자 인터페이스(GUI)가 없는 경우가 많습니다.

      하지만 디버깅, 시각화, 또는 그래픽 애플리케이션 관리를 위해 원격으로 GUI에 접속해야 하는 상황이 종종 발생합니다.

      이번 글에서는 XRDP(원격 데스크톱 프로토콜 서버)를 Ubuntu 시스템에 설정하고, Mac에서 Windows App 을 사용해 GUI로 원격 접속하는 방법을 쉽게 설명해 보겠습니다.


      XRDP란

      xrdp는 마이크로소프트 RDP(원격 데스크톱 프로토콜)를 리눅스, BSD 등 윈도우 외의 운영체제에서 사용할 수 있도록 하는 오픈 소스 구현체입니다.

      이를 통해 RDP 클라이언트를 사용하여 원격으로 시스템에 접속하여 그래픽 환경을 제어할 수 있습니다. 


      사전 준비

      • Ubuntu 서버(예: Ubuntu 22.04)에 GPU가 설치되어 있어야 합니다.

      • 서버에 관리자(sudo) 권한이 있는 계정

      • Mac에 Windows App이 설치되어 있어야 합니다(Mac App Store에서 다운로드 가능)

      • Mac과 Ubuntu 서버 간의 네트워크 연결


      1단계: Ubuntu 서버에 XRDP 설치하기

      XRDP는 표준 RDP 클라이언트를 사용해 Linux 시스템에 접속할 수 있는 오픈소스 원격 데스크톱 프로토콜 구현입니다. 다음 단계를 따라 XRDP를 설치하고 설정할 수 있습니다.

      패키지 목록 업데이트

      최신 패키지 정보를 가져옵니다.

      sudo apt update

      XRDP 및 의존성 설치

      sudo apt install xrdp -y

      이 명령어는 XRDP와 함께 libfuse2, xorgxrdp 같은 필수 패키지를 설치합니다. 출력 결과는 다음과 비슷할 것입니다.

      Reading package lists... Done
      Building dependency tree... Done
      Reading state information... Done
      The following additional packages will be installed:
        libfuse2 xorgxrdp
      Suggested packages:
        guacamole
      The following NEW packages will be installed:
        libfuse2 xorgxrdp xrdp
      ...
      Generating 2048 bit rsa key...
      ssl_gen_key_xrdp1 ok
      saving to /etc/xrdp/rsakeys.ini

      XRDP 서비스 활성화 및 시작

      부팅 시 XRDP가 자동으로 실행되도록 설정하고, 즉시 시작하게 합니다.

      sudo systemctl enable xrdp
      sudo systemctl start xrdp

      XRDP 사용자를 ssl-cert 그룹에 추가

      XRDP가 SSL 인증서에 접근할 수 있도록 합니다.

      sudo adduser xrdp ssl-cert

      XRDP 재시작

      변경 사항을 적용하려면 XRDP를 재시작합니다.

      sudo systemctl restart xrdp

      XRDP 실행 상태 확인

      sudo systemctl status xrdp

      서비스 상태가 active (running)인지 확인하세요.


      2단계: GUI 접속을 위한 Ubuntu 서버 설정

      헤드리스 서버에는 기본적으로 데스크톱 환경이 설치되어 있지 않을 수 있으므로, 데스크톱 환경을 설치해야 합니다.

      경량 데스크톱 환경 설치

      XRDP와 호환되는 경량 데스크톱 환경(예: XFCE)을 설치합니다.

      sudo apt install xfce4 xfce4-goodies -y

      XRDP에서 XFCE 사용 설정

      사용자별 XRDP 시작 파일을 생성하거나 수정합니다.

      echo xfce4-session > ~/.xsession

      XRDP에서 XFCE 세션 사용

      XRDP 설정 파일을 편집해 XFCE와의 호환성을 보장합니다.

      sudo nano /etc/xrdp/startwm.sh

      파일 상단, 세션 확인 코드 전에 다음 줄을 추가하세요.

      startxfce4

      저장하고 종료합니다(Ctrl+O, Enter, Ctrl+X).

      XRDP 재시작

      변경 사항을 적용하려면 다시 재시작하세요.

      sudo systemctl restart xrdp


      3단계: 방화벽 설정 (필요 시)

      XRDP의 기본 포트(3389)가 원격 접속을 허용하도록 열려 있는지 확인하세요.

      방화벽 상태 확인 (예: UFW 사용 시)

      sudo ufw status

      XRDP 포트 허용

      sudo ufw allow 3389/tcp

      방화벽 재로드

      sudo ufw reload


      4단계: Mac에서 Windows App으로 접속

      Windows App 설치

      Mac App Store에서 앱을 다운로드하여 설치합니다.

      image.png

      새 연결 추가

      앱을 열고 "+" 버튼을 클릭한 뒤 Add PC를 선택하세요. 다음 정보를 입력하세요:

      • PC 이름: Ubuntu 서버의 IP 주소 또는 호스트 이름(예: 192.168.1.100).

      • 사용자 계정: Add User Account를 선택하고 Ubuntu 서버의 사용자 이름과 비밀번호를 입력하세요.

      • 별칭(선택 사항): 연결에 "Ubuntu GPU 서버" 같은 이름을 지정하세요.

      image.png

      서버에 접속

      Windows App 에서 추가한 연결을 더블클릭하세요.

      인증서 경고가 나타나면 수락하세요(XRDP가 자체 서명된 인증서를 사용할 경우 발생 가능). Ubuntu 서버의 XFCE 데스크톱 환경이 표시됩니다.

      아래와 같이 firefox를 열고 다양한 작업을 진행할 수 있습니다.

      image.png


      5단계: 일반적인 문제 해결

      검은 화면 또는 접속 실패

      • XRDP 서비스가 실행 중인지 확인하기( sudo systemctl status xrdp)

      • 데스크톱 환경(예: XFCE)이 올바르게 설치되고 설정되었는지 확인하기

      • 포트 3389가 열려 있고 Mac에서 접근 가능한지 확인하기

      인증 오류

      • 앱에 입력한 사용자 이름과 비밀번호가 Ubuntu 서버의 유효한 사용자와 일치하는지 확인하기

      • XRDP 사용자가 ssl-cert 그룹에 추가되었는지 확인하기

      성능 문제

      • XRDP는 GPU 가속 렌더링을 완전히 활용하지 않을 수 있습니다.

      • 느린 연결에서는 앱에서 디스플레이 해상도를 낮춰 성능을 개선할 수 있습니다.

      • 성능 문제가 이슈라면 별도의 유료 솔루션인 HP Anyware를 통해 xrdp의 단점을 극복할 수있습니다.

        NVIDIA GPU와 같은 고성능 그래픽 하드웨어와 잘 통합되어 있어, 원격 세션에서 더 나은 성능을 제공할 수 있습니다.


      결론

      처음에는 GUI를 볼 수 없어 당황했지만, 효율적인 IT환경을 활용하고 운영하는 데 적합한 오픈소스 솔루션은 존재하였고, 사용자 친화적인 워크플로 환경을 구성할 수 있었습니다.

      Ubuntu 서버에 XRDP를 설정하고 Mac에서 Windows App 을 사용하면, GPU 서버에 로컬 디스플레이 하드웨어 없이도 원격에서도 GUI 환경에 접속할 수 있습니다.

      이 설정은 그래픽 애플리케이션 관리, 디버깅, 또는 작업 모니터링에 특히 유용합니다.

      댓글 0

      DEVOTEE를 활성화 시키면
      지금 작성한 댓글에 AI가 댓글을 달아줍니다.

      broccoli 님의 최신 블로그

      더보기

      DEVOTEE 추천 블로그

      동영상 기고하기