Hasty Briefsbeta

双语

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等终端复用器的功能冗余