文章摘要
RMUX是一个基于Rust的通用多路复用器,具有可分离、可编写脚本和可检查的特性。它提供tmux兼容的CLI界面、后台守护进程支持的SDK,以及原生Ratatui集成,支持Linux、macOS和Windows系统。该项目采用MIT或Apache-2.0许可证。
文章总结
RMUX:基于Rust的通用终端多路复用器
项目概览
RMUX是一个用Rust编写的现代化终端多路复用器,具有以下核心特性: - 兼容tmux命令行接口 - 提供类型化SDK支持编程控制 - 原生支持Linux/macOS/Windows(包括Windows命名管道) - 集成Ratatui终端UI框架 - 采用MIT或Apache-2.0双协议许可
核心价值
项目创建初衷是解决以下痛点: 1. 通过SSH运行长时任务时保持终端会话 2. 支持会话状态检查与编程控制 3. 提供结构化会话快照功能 4. 实现跨平台原生支持(无需WSL)
技术架构
- 三层公共接口:CLI/SDK/Ratatui组件
- 模块化设计包含12个功能组件
- 安全策略:上层crate禁止unsafe代码
安装方式
```bash
macOS/Linux
curl -fsSL https://rmux.io/install.sh | sh
Windows
irm https://rmux.io/install.ps1 | iex
Cargo安装
cargo install rmux --locked ```
快速入门
rust
// SDK示例
let rmux = Rmux::builder().connect_or_start().await?;
let session = rmux.ensure_session(/*...*/).await?;
let pane = session.pane(0, 0);
pane.send_text("echo 'hello'").await?;
平台支持
| 平台 | PTY后端 | IPC通道 | 默认端点 | |--------|----------|---------------|--------------------------| | Linux | Unix PTY | Unix socket | /tmp/rmux-{uid}/default | | macOS | Unix PTY | Unix socket | /tmp/rmux-{uid}/default | | Windows| ConPTY | Named pipe | 用户级命名管道 |
当前状态
- 版本:v0.2.0(2026年5月发布)
- 已实现90个tmux兼容命令
- 文档地址:https://rmux.io/docs/
注意:该项目处于公开预览阶段,发现问题可通过GitHub提交issue。
评论总结
以下是评论内容的总结:
界面设计质疑
- 有用户指出网站设计明显由Claude生成,如"带有脉冲绿点的药丸"设计
- "The first thing I noticed is the classic 'pill with pulsing green dot'" (评论1)
与现有工具的比较疑问
- 多位用户询问相比tmux/zellij的优势
- "how is your project improves vs tmux or zellij?" (评论3)
- "what's the advantage over just using tmux with a hotkey?" (评论5)
技术细节讨论
- 指出网站将tmux错误描述为C++编写(实际是C)
- "claims that tmux is programmed in C++. tmux is made in C" (评论7)
- 有用户询问窗格重排功能
- "how easy is it to reorder panes?" (评论4)
安装与兼容性问题
- 报告在Git Bash上的安装错误
- "rmux install: unsupported OS: MINGW64_NT-10.0-26200" (评论10)
- 提到Windows工具兼容性问题
- "not just everything. Especially with Windows tools" (评论13)
积极反馈
- 认可Playwright风格的等待机制
- "snapshot/wait layer is the interesting part" (评论16)
- 赞赏Rust代码库和可编程性
- "rust codebases are nice" (评论4)
- "feels super interesting for programmability" (评论9)
幽默/讽刺评论
- 调侃"用Rust重写X"的套路
- "ask Claude to rewrite X in Rust... profit!" (评论8)
- 表达对终端多路复用器过多的感受
- "I'm getting whiplash" (评论4)
架构设计讨论
- 提出会话持久化与窗口管理耦合的问题
- "wonder if tmux/rmux design is suboptimal" (评论11)
- 与emacs方案的比较
- "use emacs daemons for all shell multiplexing" (评论12)