23.06.15
DEVOTEE를 활성화 시키면
지금 작성한 커뮤니티 글에 대해 1개의 댓글을 달아줍니다.
버튼을 누르면 글 수정 시 ChatGPT가 작성한 댓글이 수정됩니다.
| 컨텐츠 유형 | 제목 | 저장일 | 삭제 |
|---|
본인인증 로그인에 실패하였습니다.
회원이 아니시거나 본인인증 등록이
완료되지 않은 사용자입니다.
요즘 온프레미스 환경 구축을 활발히 진행하고 있습니다.
특히 GPU가 장착된 서버를 다루고 있는데, 이 서버들이 헤드리스 상태로 운영되기 때문에 GUI를 활용해야 할 경우에 대한 솔루션이 필요했습니다.
GPU 가속 컴퓨팅 환경(예: 머신 러닝, 과학적 시뮬레이션 등)에서는 서버가 헤드리스(headless) 상태로 동작하기 때문에 그래픽 사용자 인터페이스(GUI)가 없는 경우가 많습니다.
하지만 디버깅, 시각화, 또는 그래픽 애플리케이션 관리를 위해 원격으로 GUI에 접속해야 하는 상황이 종종 발생합니다.
이번 글에서는 XRDP(원격 데스크톱 프로토콜 서버)를 Ubuntu 시스템에 설정하고, Mac에서 Windows App 을 사용해 GUI로 원격 접속하는 방법을 쉽게 설명해 보겠습니다.
xrdp는 마이크로소프트 RDP(원격 데스크톱 프로토콜)를 리눅스, BSD 등 윈도우 외의 운영체제에서 사용할 수 있도록 하는 오픈 소스 구현체입니다.
이를 통해 RDP 클라이언트를 사용하여 원격으로 시스템에 접속하여 그래픽 환경을 제어할 수 있습니다.
Ubuntu 서버(예: Ubuntu 22.04)에 GPU가 설치되어 있어야 합니다.
서버에 관리자(sudo) 권한이 있는 계정
Mac에 Windows App이 설치되어 있어야 합니다(Mac App Store에서 다운로드 가능)
Mac과 Ubuntu 서버 간의 네트워크 연결
XRDP는 표준 RDP 클라이언트를 사용해 Linux 시스템에 접속할 수 있는 오픈소스 원격 데스크톱 프로토콜 구현입니다. 다음 단계를 따라 XRDP를 설치하고 설정할 수 있습니다.
최신 패키지 정보를 가져옵니다.
sudo apt updatesudo 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가 자동으로 실행되도록 설정하고, 즉시 시작하게 합니다.
sudo systemctl enable xrdp
sudo systemctl start xrdpXRDP가 SSL 인증서에 접근할 수 있도록 합니다.
sudo adduser xrdp ssl-cert변경 사항을 적용하려면 XRDP를 재시작합니다.
sudo systemctl restart xrdpsudo systemctl status xrdp서비스 상태가 active (running)인지 확인하세요.
헤드리스 서버에는 기본적으로 데스크톱 환경이 설치되어 있지 않을 수 있으므로, 데스크톱 환경을 설치해야 합니다.
XRDP와 호환되는 경량 데스크톱 환경(예: XFCE)을 설치합니다.
sudo apt install xfce4 xfce4-goodies -y사용자별 XRDP 시작 파일을 생성하거나 수정합니다.
echo xfce4-session > ~/.xsessionXRDP 설정 파일을 편집해 XFCE와의 호환성을 보장합니다.
sudo nano /etc/xrdp/startwm.sh파일 상단, 세션 확인 코드 전에 다음 줄을 추가하세요.
startxfce4저장하고 종료합니다(Ctrl+O, Enter, Ctrl+X).
변경 사항을 적용하려면 다시 재시작하세요.
sudo systemctl restart xrdpXRDP의 기본 포트(3389)가 원격 접속을 허용하도록 열려 있는지 확인하세요.
sudo ufw statussudo ufw allow 3389/tcpsudo ufw reloadMac App Store에서 앱을 다운로드하여 설치합니다.
앱을 열고 "+" 버튼을 클릭한 뒤 Add PC를 선택하세요. 다음 정보를 입력하세요:
PC 이름: Ubuntu 서버의 IP 주소 또는 호스트 이름(예: 192.168.1.100).
사용자 계정: Add User Account를 선택하고 Ubuntu 서버의 사용자 이름과 비밀번호를 입력하세요.
별칭(선택 사항): 연결에 "Ubuntu GPU 서버" 같은 이름을 지정하세요.
Windows App 에서 추가한 연결을 더블클릭하세요.
인증서 경고가 나타나면 수락하세요(XRDP가 자체 서명된 인증서를 사용할 경우 발생 가능). Ubuntu 서버의 XFCE 데스크톱 환경이 표시됩니다.
아래와 같이 firefox를 열고 다양한 작업을 진행할 수 있습니다.
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 환경에 접속할 수 있습니다.
이 설정은 그래픽 애플리케이션 관리, 디버깅, 또는 작업 모니터링에 특히 유용합니다.
DEVOTEE를 활성화 시키면
지금 작성한 댓글에 AI가 댓글을 달아줍니다.