DevTrendsDeveloper trends
Accent color

minibear2021 /

rustshell

我是 RustDesk 的重度用户。自己搭了中继服务器,家里、公司、手机、笔记本全部接入,随时随地远程到任意一台机器,爽得很。 但现在碰到一个痛点。Claude Code 和 Codex 越用越重,在一台机器上跑起来的 session 不想断,换个地方就没法接着用。一开始我想搓个 session 同步工具,把多台设备的缓存对齐,但我的环境 Windows/macOS/Linux 混着来,不同系统下的 session 根本不通用,适配太麻…

DTDesktop productivityDTSoftware developmentDTAgent extensionDTAgent orchestrationDTLinuxDTmacOSDTWindowsDTClaude CodeDTCodex

About

我是 RustDesk 的重度用户。自己搭了中继服务器,家里、公司、手机、笔记本全部接入,随时随地远程到任意一台机器,爽得很。 但现在碰到一个痛点。Claude Code 和 Codex 越用越重,在一台机器上跑起来的 session 不想断,换个地方就没法接着用。一开始我想搓个 session 同步工具,把多台设备的缓存对齐,但我的环境 Windows/macOS/Linux 混着来,不同系统下的 session 根本不通用,适配太麻烦,搭建同样的运行环境也是一个麻烦事。 那就换个思路,直接远程连回那台机器不就行了? RustDesk 确实能远程打开终端。第一种方式是全桌面远程,打开桌面后再打开终端,用起来太重了,光是画面传输就吃掉不少带宽,线路差一点操作迟滞、画面模糊。第二种是 RustDesk 自带的“终端 (beta)”功能,直接开一个终端窗口。但这个窗口是个 Flutter 里嵌套的 xterm ,GUI 模拟的,不是真正的原生终端,所以不能 pipe 给本地命令,选中复制都不行,只能救急。 于是我想,能不能把 GUI 层彻底扔掉,让远端终端的画面直接在本地终端里渲染? 这就是 rustshell 的起点,整个代码库只有一个不到 600 行的main.rs。 RustShell 是建立在 RustDesk 的完整协议栈之上的终端复用工具,ID 服务器、中继通道、端到端加密、SHA-256 认证,所有安全机制原封不动。所有已经接入 RustDesk 管理的设备可以零配置使用。唯一的变化是:打开的不再是 GUI 窗口,而是本地原生的 Terminal 。 因为终端的数据量相比桌面画面几乎可以忽略不计,响应速度提升了不止一个数量级。而本地终端的原生体验——字体、配色、快捷键、复制粘贴、管道操作全部原样保留。

Discovery history

  1. 阮一峰周刊·用户投稿

    May 29, 2026 · 1 observations

Discuss this product