TL;DR
- Xpra는 X11 애플리케이션을 원격 호스트에서 실행하고 연결을 끊었다가 다시 접속해도 상태를 유지하는 화면 공유 도구임.
- 심리스 모드(seamless mode)에서 개별 원격 그래픽 애플리케이션을 로컬 데스크톱에 통합하고, 기존 데스크톱 세션에 접속하거나 원격 데스크톱 세션을 시작할 수 있음.
- Windows, macOS, Linux용 클라이언트와 호스트 내장형 HTML5 클라이언트를 제공하며, 다양한 네트워크 조건과 프로토콜에 대응함.
- 오디오, 프린터, 클립보드, 시스템 트레이, 알림, 웹캠을 비롯한 데스크톱 기능을 전달·동기화하며, 문서와 URL 원격 열기 및 고비트 심도 콘텐츠 표시도 지원함.
- 클라이언트와 호스트에 설치해 SSH 기반 심리스·섀도 연결을 사용할 수 있으며, 암호화·인증 모듈, 멀티캐스트 DNS, 프록시 서버를 지원함.
개요
- Xpra는 ‘X용 screen’으로 알려져 있으며, 심리스 모드에서 일반적으로 원격 호스트의 X11 프로그램을 실행하고 로컬 머신에 표시함.
- 프로그램 상태를 잃지 않고 연결을 끊은 뒤 같은 머신이나 다른 머신에서 다시 접속할 수 있어, 개별 그래픽 애플리케이션에 원격으로 접근하는 방식임.
- 기존 데스크톱 세션에 접근하거나 원격 데스크톱 세션을 시작하는 데도 사용할 수 있음.
- Xpra는 GPLv2 이상 오픈소스이며 여러 지원 플랫폼용 클라이언트와 서버 내장형 HTML5 클라이언트를 제공함.
- 다양한 네트워크 프로토콜을 사용할 수 있으며, 네트워크 조건에 맞게 최대한 적응함.
- 오디오 입력·출력, 프린터, 클립보드, 시스템 트레이, 알림, 웹캠 등 여러 데스크톱 기능을 전달하고 동기화해 원격 애플리케이션이 클라이언트의 데스크톱 환경에 자연스럽게 통합되도록 함.
- 문서와 URL을 원격으로 열고, 고비트 심도 콘텐츠를 표시하며, 디스플레이의 DPI를 따르도록 시도함.
- 예시 화면은 MS Windows 11 데스크톱 클라이언트에서 xterm과 glxspheres 두 창이 있는 심리스 세션에 접속한 모습임. 창은 네이티브 창처럼 보일 수 있지만 원격 Linux 서버에서 실행됨.
설치
공식 안정 버전 다운로드
- Microsoft Windows: EXE, ZIP, MSI
- MacOS: x86_64 DMG / PKG, arm64 DMG / PKG
- Linux: RPM, DEB
- 모든 패키지에 서명이 적용됨. LTS 및 베타 빌드도 제공됨.
- 추가 정보와 빌드 아키텍처 옵션은 xpra 다운로드 페이지에서 확인할 수 있음.
소스에서 빌드
- 저장소는
https://github.com/Xpra-org/xpra이며,git clone으로 복제한 뒤python3 ./setup.py install을 실행해 설치함. - 자세한 내용은 소스에서 빌드하기 문서에서 확인할 수 있음.
- 프로젝트에 기여할 때는 풀 리퀘스트를 사용하고 행동 강령을 따르는 것이 권장됨.
- 단위 테스트 상태가 제공됨.
사용법
초기 요구 사항
- Xpra를 클라이언트와 호스트에 설치해야 함.
- HTML5 클라이언트를 사용하는 경우 Xpra는 호스트에만 필요함.
심리스 모드
- 원격 호스트에서 xterm을 실행하고 클라이언트 머신에서 표시·조작하려면
xpra seamless ssh://USER@HOST/ --start=xterm을 사용함. - xterm이 호스트에 설치되어 있어야 함.
- 추가 예시는 사용법 문서에서 확인할 수 있음.
섀도 모드
- 원격 호스트에서 실행 중인 기존 데스크톱 세션을 보려면
xpra shadow ssh://USER@HOST/를 사용함.
네트워크 접속
- Xpra 서버는 단일 TCP 포트에서 SSL, SSH, 보안 HTTP 및 웹소켓, RFB 등 여러 연결 유형을 지원할 수 있음.
- 암호화와 여러 인증 모듈을 사용해 연결을 보호할 수 있음.
- 멀티캐스트 DNS를 통해 LAN에서 세션을 자동으로 알릴 수 있으며, 클라이언트는 GUI, 예를 들어
xpra mdns-gui를 사용해 더 쉽게 연결할 수 있음. - 유연한 프록시 서버를 릴레이 또는 여러 서버 세션의 프런트엔드로 사용할 수 있음.
문서
- 현재 개발 버전용 상세 문서를 제공하며, 각 릴리스에도 해당 문서가 포함됨.
- 버전에 구애받지 않는 일반 정보는 위키에서 확인할 수 있음.
도움말
- 질문에 이미 답변이 있을 수 있으므로 FAQ를 먼저 확인할 수 있음.
- 질문은 GitHub 토론, libera.chat의 IRC 채널
#xpra, 또는 Discord에서 할 수 있음. - 버그가 발생한 경우 버그 신고 안내를 확인할 수 있음.
댓글 (0)
로그인하면 이 기사에 내 생각을 남길 수 있어요