rylena/sshdesk

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

What it solves

SSHDESKは、単一のSSHセッションのみを通じて完全なインタラクティブ・リモートデスクトップへのアクセス手段を提供し、専用のリモートデスクトップ・プロトコル(VNCやRDPなど)、Webブラウザ、または追加のオープンネットワークポートの必要性を排除します。これにより、ユーザーは標準的なターミナル・エミュレータ内で直接、リモートのグラフィカル・インターフェースを表示および制御することが可能になります。

How it works

このシステムは、リモートホストの画面をキャプチャし、SSH PTYを介して送信される視覚データとしてレンダリングすることで動作します。OpenSSHのforced-command設定を使用してデスクトップ・セッションを起動します。ターミナルの機能に応じて、Kitty graphics protocolを介して高解像度の「real-pixel」タイルを配信するか、ANSIターミナル用に低解像度のカラーセルにフォールバックします。

Input(キーボードとマウス)は、同じSSHセッションを通じて送り返されます。Linuxでは、X11、GNOME Wayland(via PipeWire)、およびその他のWaylandコンポジット(via ydotool)を含む、さまざまなディスプレイ・スタックと統合されます。また、macOSおよびWindowsもホストとしてサポートしています。

Who it’s for

  • Remote Administrators: リモートマシンへのグラフィカルなアクセスを、複雑なファイアウォール・ルールや追加サービスの構成なしに実現したい管理者。
  • AI Agents: このプロジェクトには、AIエージェントがスクリーンショットを撮り、マウスを動かし、タイピングを行うことを可能にする専用のsshdesk-agentコマンドセットが含まれており、SSH経由での「computer use」機能を有効にします。
  • Terminal Power Users: すべてのリモート管理タスクにおいて、ターミナル環境内に留まることを好むユーザー。

Highlights

  • Zero Extra Ports: 既存のSSHポートのみで完全に動作します。
  • Cross-Terminal Compatibility: Kitty、Ghostty、およびWezTermの高精度グラフィックスをサポートし、PuTTYやモバイル・クライアント用のユニバーサルなフォールバックも備えています。
  • Adaptive Performance: 最新フレームのスケジューリング機能により、古いフレームを破棄してレイテンシを低減し、低速なネットワーク向けの適応型スケーリングを備えています。
  • Agent-Ready: AIエージェントがデスクトップと対話するための構造化されたJSON API(sshdesk-remote)を提供します。
  • Multi-Platform Host Support: Linux (X11/Wayland)、macOS、およびWindowsにわたって動作します。

関連

  • プロジェクト
  • プロジェクト
  • プロジェクト
  • プロジェクト
  • プロジェクト