rylena/sshdesk
A full interactive remote desktop delivered entirely through SSH and displayed directly in your terminal.
它解决了什么问题
SSHDESK 提供了一种通过单个 SSH 会话完全访问完整交互式远程桌面的方法,无需专用的远程桌面协议(如 VNC 或 RDP)、Web 浏览器或额外开放的网络端口。它允许用户在标准终端模拟器中直接查看和控制远程图形界面。
它如何工作
该系统通过捕获远程主机的屏幕,并将渲染后的视觉数据通过 SSH PTY 发送。它使用 OpenSSH 的强制命令配置来启动桌面会话。根据终端的能力,它通过 Kitty 图形协议提供高分辨率的「真实像素」瓦片,或在 ANSI 终端上回退到较低分辨率的颜色单元。
输入(键盘和鼠标)通过相同的 SSH 会话返回。在 Linux 上,它与多种显示堆栈集成,包括 X11、GNOME Wayland(通过 PipeWire)以及其他 Wayland 合成器(通过 ydotool)。它还支持 macOS 和 Windows 作为主机。
适用人群
- 远程管理员:希望无需配置复杂的防火墙规则或额外服务即可获得图形化远程访问的用户。
- AI 代理:该项目包含专用的
sshdesk-agent命令集,允许 AI 代理截取屏幕、移动鼠标和输入文字,从而在 SSH 上实现「计算机使用」能力。 - 终端高级用户:偏好在终端环境中完成所有远程管理任务的用户。
特色亮点
- 零额外端口:完全通过现有的 SSH 端口运行。
- 跨终端兼容性:支持 Kitty、Ghostty 和 WezTerm 的高保真图形,同时为 PuTTY 和移动客户端提供通用回退方案。
- 自适应性能:采用最新帧调度机制,丢弃过时帧以降低延迟,并支持在慢速网络下的自适应缩放。
- 支持代理:提供结构化的 JSON API(
sshdesk-remote),供 AI 代理与桌面交互。 - 多平台主机支持:可在 Linux(X11/Wayland)、macOS 和 Windows 上运行。
相关
- 项目
- 项目
- 项目
- 项目
- 项目