Zmx: Session Persistence for Terminal Processes
3 months ago
- #session-persistence
- #productivity
- #terminal
- zmx是一款用于持久化终端shell会话(pty进程)的工具,用户可随时连接/断开会话而不会终止进程
- 支持原生终端滚动历史,允许多客户端接入同一会话,重新连接时可恢复之前的终端状态与输出内容
- 兼容Mac和Linux系统,需使用Zig语言编译,专注会话持久化功能,窗口管理交由操作系统处理
- 提供会话连接、断开、列表查看和终止等命令,文档中包含使用不同应用程序启动会话的具体示例
- 特别强调SSH集成作为核心功能,通过autossh实现多终端会话自动重连能力
- 采用Unix套接字实现守护进程与客户端通信,通过libghostty-vt库实现终端状态恢复
- 当前配置选项极简,日志与套接字文件存储在/tmp/zmx目录,追求代码简洁与可维护性
- 灵感来源于shpool、abduco等项目,强调轻量级会话持久化,避免tmux等终端复用器的功能冗余