WezTerm 多路复用 3 大场景实战本地、SSH 与 WSL 会话管理指南【免费下载链接】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 加速的跨平台终端模拟器内置基于域Domain的多路复用能力本地 Unix 域让会话脱离窗口独立存活SSH 域把同一套体验搬到远程服务器。本文用三个由近及远的场景给出每个场景的最小配置和一条验证命令帮你把 WezTerm 会话管理跑起来。一张表看懂三种域域类型本质前置条件典型场景本地域 Local窗口内标签页的直接管理无开箱即用日常本地终端Unix 域本机后台wezterm-mux-server进程经 Unix 套接字连接同一台机器关窗不丢会话、WSL 桥接SSH 域远程主机上的 mux 守护进程SSH 作为传输通道远端装好同版本 WezTerm远程服务器长期会话可以把域理解为一个独立于窗口的会话容器它由后台服务器进程承载窗口只是客户端。关掉所有窗口容器还在重新连接原样接回。场景一本地会话不丢 —— 本地域最小配置解决的问题你正在跑一个长任务手滑把窗口关了。本地默认域只管理窗口内的标签窗口关了就没了而 Unix 域由后台服务器承载窗口关闭后会话继续运行随时可以重连。最小配置写入~/.wezterm.luaconfig.unix_domains { { name unix }, } -- 启动时自动等价于执行 wezterm connect unix config.default_gui_startup_args { connect, unix }保存后重启 WezTerm启动即连接到名为unix的域需要时也可手动wezterm connect unix接入。马上验证关掉所有 WezTerm 窗口然后执行下面两条命令。$ wezterm connect unix $ wezterm cli list前者重连并看到原会话后者列出当前域下所有窗口、标签和窗格确认会话仍在服务器侧存活。另外按CtrlShiftSpace打开命令面板输入Connect to Domain可以在图形界面里切换要接入的域不必记命令。远端回显有延迟时可给域加一行local_echo_threshold_ms 10启用本地预测回显。场景二远程服务器一键接入 —— 复用 ssh config 自动生成域解决的问题远程服务器上跑的编译、训练任务不希望随断连中断又不想为每台机器单独写配置。SSH 域在远端自动拉起 mux 守护进程会话存活的逻辑和本地 Unix 域完全一致只是通道换成了 SSH。方式一为常用服务器显式配置一个 SSH 域config.ssh_domains { { name prod-server, remote_address 192.168.1.100, username devops, }, }配置生效后运行wezterm connect prod-server即可远端需先安装同版本的 WezTerm。方式二更省事WezTerm 会自动读取~/.ssh/config为每个 host 生成两个域——SSH:主机名普通 SSH和SSHMUX:主机名多路复用。已有 SSH 配置的用户直接连复用域$ wezterm connect SSHMUX:staging一条命令接入 staging 机器的后台会话若想接到已打开的 WezTerm 里作为新标签则用wezterm cli spawn --domain-name SSHMUX:staging。场景三Windows Linux 双系统 —— WSL 桥接解决的问题Windows 上想要原生窗口的鼠标和剪贴板体验程序却跑在 WSL 里。Unix 域正好桥接两者WSL 内跑服务器Windows 端通过wsl命令拉起。注意目前仅 WSL 1 支持 AF_UNIX 互操作WSL 2 暂不可用。WSL 内的~/.wezterm.lua把套接指到 Windows 可见的路径并跳过权限检查NTFS 权限永远不正确config.unix_domains { { name wsl, socket_path /mnt/c/Users/USERNAME/.local/share/wezterm/sock, skip_permissions_check true, }, }Windows 端的~/.wezterm.lua用serve_command让 WezTerm 通过wsl启动服务器config.unix_domains { { name wsl, serve_command { wsl, wezterm-mux-server, --daemonize }, }, } config.default_gui_startup_args { connect, wsl }两端都保存后从开始菜单启动 WezTerm直接落在 WSL 标签里新标签也会自动创建在 WSL 中。常用命令速查命令作用wezterm connect unix连接本地 Unix 域wezterm connect SSHMUX:主机名连接由 ssh config 自动生成的远程复用域wezterm cli list列出当前域的窗口、标签、窗格wezterm cli spawn --domain-name 域在当前 GUI 中新开标签接入指定域wezterm cli get-text提取当前窗格文本替代手动复制wezterm cli split-pane在当前窗格右侧/下方分屏wezterm cli kill-pane关闭当前窗格wezterm cli list-clients列出连接到该域的所有客户端子命令的完整清单见 cli 文档。三个常见坑远端没装 WezTerm。SSH 域依赖远端启动 mux 守护进程先在远端执行wezterm --version确认已安装且版本兼容否则连接会静默失败。套接字权限检查报错。多用户机器上skip_permissions_check应保持默认关闭确需开启如 WSL 的 NTFS 场景时注意该开关会让任何本机用户都能接管你的会话。WSL 2 连不上。AF_UNIX 跨系统互操作仅 WSL 1 支持WSL 2 用户可参考 multiplexing 文档 中的proxy_command方案用 socat 之类工具中转套接字。小结域是独立于窗口的会话容器服务器进程不退出会话就不会丢本地、远程、WSL 三种场景共用同一套connect/cli操作模型wezterm connect 域名接入会话wezterm cli 子命令操作会话多用户机器上不要关闭套接字权限检查进阶入口需要跨网安全访问时看 multiplexing 文档 中的 TLS Domains 一节客户端config.tls_clients 服务端config.tls_servers经 SSH 引导获取证书想调整 ssh config 自动生成域的行为参考 wezterm.default_ssh_domains()。【免费下载链接】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),仅供参考