rylena/sshdesk

A full interactive remote desktop delivered entirely through SSH and displayed directly in your terminal.

무엇을 해결하는가

SSHDESK는 전용 원격 데스크톱 프로토콜(VNC 또는 RDP와 같은)이나 웹 브라우저, 또는 추가적인 네트워크 포트 개방 없이 단일 SSH 세션만을 통해 전체 대화형 원격 데스크톱에 접속할 수 있는 방법을 제공합니다. 이를 통해 사용자는 표준 터미널 에뮬레이터 내부에서 원격 그래픽 인터페이스를 직접 보고 제어할 수 있습니다.

작동 방식

이 시스템은 원격 호스트의 화면을 캡처하여 SSH PTY를 통해 전송되는 시각적 데이터로 렌더링하여 작동합니다. OpenSSH의 forced-command 설정을 사용하여 데스크톱 세션을 실행합니다. 터미널 기능에 따라 Kitty graphics protocol을 통해 고해상도 "real-pixel" 타일을 전달하거나, ANSI 터미널의 경우 저해상도 color-cells로 대체하여 제공합니다.

입력(키보드 및 마우스)은 동일한 SSH 세션으로 다시 전송됩니다. Linux에서는 X11, GNOME Wayland (via PipeWire), 그리고 기타 Wayland 컴포지터(via ydotool)를 포함한 다양한 디스플레이 스택과 통합됩니다. 또한 macOS와 Windows를 호스트로 지원합니다.

대상 사용자

  • Remote Administrators: 복잡한 firewall rules나 추가 서비스를 구성하지 않고 원격 머신에 그래픽 접속을 원하는 사용자.
  • AI Agents: 이 프로젝트에는 AI 에이전트가 스크린샷을 찍고, 마우스를 움직이고, 타이핑을 할 수 있게 하여 SSH를 통해 "computer use" 기능을 가능하게 하는 전용 sshdesk-agent 명령 세트가 포함되어 있습니다.
  • Terminal Power Users: 모든 원격 관리 작업을 터미널 환경 내에서 수행하는 것을 선호하는 사용자.

주요 특징

  • Zero Extra Ports: 기존 SSH 포트 위에서 완전히 작동합니다.
  • Cross-Terminal Compatibility: Kitty, Ghostty, WezTerm를 위한 고충실도 그래픽을 지원하며, PuTTY 및 모바일 클라이언트를 위한 범용 대체 수단을 제공합니다.
  • Adaptive Performance: 오래된 프레임을 버리고 지연 시간을 줄이기 위해 최신 프레임 스케줄링(latest-frame scheduling) 기능을 갖추고 있으며, 느린 네트워크를 위한 적응형 스케일링을 지원합니다.
  • Agent-Ready: AI 에이전트가 데스크톱과 상호작용할 수 있도록 구조화된 JSON API (sshdesk-remote)를 제공합니다.
  • Multi-Platform Host Support: Linux (X11/Wayland), macOS, Windows 전반에서 작동합니다.

관련

  • 프로젝트
  • 프로젝트
  • 프로젝트
  • 프로젝트
  • 프로젝트