
WezTerm 多路复用入门指南把终端会话留在后台一次配置长期有效【免费下载链接】weztermA GPU-accelerated cross-platform terminal emulator and multiplexer written by wez and implemented in Rust项目地址: https://gitcode.com/GitHub_Trending/we/weztermWezTerm 是一款用 Rust 编写、GPU 加速的终端模拟器。它的多路复用mux功能可以在关闭所有窗口后保留正在运行的会话重新连接时原样恢复避免你因关错窗口或断网而重跑任务。先搞懂域30秒版本WezTerm 多路复用的核心单位叫域Domain一个域就是一组窗口、标签页和窗格的集合。可以把它想象成餐厅前台窗口你眼前看到的 WezTerm 界面只是店面域一个独立的经营部门可以有自己的菜单标签页布局后台 mux 服务wezterm-mux-server进程相当于后厨主管负责真正维护会话状态。关闭窗口只是撤掉了店面后厨还在运转会话就还在。域分三种本机默认创建的Local 域、走 Unix 套接字的Unix 域、走 SSH 通道的SSH 域。场景一本机标签页不掉线Unix 域WezTerm mux 最小配置在.wezterm.lua中加入以下两行配置即可config.unix_domains { { name unix }, } config.default_gui_startup_args { connect, unix }name unix是给域起的名字在全部域中必须唯一第二行让 WezTerm 启动时自动接入这个域等价于每次手动执行wezterm connect unix。如果不想自动连接删掉第二行即可。验证 mux 服务在跑# 手动连接该域 wezterm connect unix # 列出当前域内的窗口、标签和窗格 wezterm cli listwezterm cli list输出的是标签页树结构能看到内容就说明客户端与后台服务已正常通信。可选参数常用字段一览均未设置时 WezTerm 会取合理默认值字段作用socket_path指定套接字文件位置默认在运行时目录下的socklocal_echo_threshold_ms往返延迟超过阈值毫秒时客户端本地预测回显按键掩盖卡顿skip_permissions_check跳过对套接字属主的权限校验多用户机器上不要开no_serve_automatically为 true 时连接失败也不尝试拉起服务器本机场景一般只需前两行配置延迟敏感的操作如大量输入再考虑local_echo_threshold_ms。场景二远程服务器长期会话SSH 域SSH 域的前提远端主机上必须安装兼容版本的 WezTerm。连接建立后WezTerm 会在远端启动wezterm-mux-server本地窗口挂到远端的会话上——这就是终端会话保持的典型用法。显式声明一个 SSH 域config.ssh_domains { { name prod-server, remote_address 192.168.1.100, username devops, }, }连接与验证wezterm connect prod-server # 在现有 WezTerm 实例中开新标签页接入同一域 wezterm cli spawn --domain-name prod-serverremote_address同时用于匹配你~/.ssh/config里对应主机的设置建议配合 SSH 密钥认证。复用已有 SSH 配置WezTerm 会自动读取~/.ssh/config为每个主机生成两类域普通 SSH 连接带SSH:前缀多路复用连接带SSHMUX:前缀。这样无需任何 WezTerm 配置wezterm connect SSHMUX:staging两台路径按需选择主机少且参数固定时用显式声明主机多、已有成熟 SSH 配置时用SSHMUX:自动域。场景三Windows 下接 WSL这条链路依赖 Unix 域的 AF_UNIX 互操作目前仅支持 WSL 1。两端各改一段配置。WSL 侧Linux 里的 .wezterm.luaconfig.unix_domains { { name wsl, -- 套接字放到 NTFS 挂载路径让 Windows 侧能访问 socket_path /mnt/c/Users/USERNAME/.local/share/wezterm/sock, -- NTFS 上权限概念失真需跳过检查 skip_permissions_check true, }, }Windows 侧config.unix_domains { { name wsl, serve_command { wsl, wezterm-mux-server, --daemonize } }, } config.default_gui_startup_args { connect, wsl }配置完成后从 Windows 启动 WezTerm默认就会进入 WSL 会话之后新建的标签页也落在 WSL 一侧。serve_command的作用就是让 Windows 侧通过wsl命令把 mux 服务拉进容器里。连不上按顺序排查核对两端版本。SSH 域要求远端安装兼容版本的 WezTerm先分别在两端执行wezterm --version比对。确认套接字路径与权限。找到实际使用的socket_path默认在运行时目录下执行ls -la检查文件存在、属主正确skip_permissions_check只在 WSL 这类特殊场景下使用。开调试日志定位原因。wezterm --log-leveldebug connect unix日志里会打印连接建立、服务拉起等每一步的细节出问题的环节一般能直接看到错误信息。 三步走完仍失败时把 debug 日志与两端版本号放在一起看多数情况能自行定位仍无法解决可去 docs/multiplexing.md 对照官方说明。延伸阅读docs/multiplexing.md多路复用官方文档含 TLS 域加密 TCP 通道可先经 SSH 引导建立证书的完整配置。docs/config/lua/wezterm/default_ssh_domains.md用 Lua 脚本调整SSHMUX:自动域的行为实现按条件动态筛选域名。wezterm-mux-server/mux 服务端的源码目录想定制会话行为可以从这里入手。先跑通wezterm cli list确认域内会话可正常列出再逐步叠加 SSH 与 WSL 场景。当前版本可用wezterm --version查看。【免费下载链接】weztermA GPU-accelerated cross-platform terminal emulator and multiplexer written by wez and implemented in Rust项目地址: https://gitcode.com/GitHub_Trending/we/wezterm创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考