ARTICLE DETAIL

资讯详情

深耕网站建设与运营推广的一线实战洞察。

WezTerm 多路复用实战:本地与远程会话的持久化与统一管理

WezTerm 多路复用实战:本地与远程会话的持久化与统一管理 WezTerm 多路复用实战本地与远程会话的持久化与统一管理【免费下载链接】weztermA GPU-accelerated cross-platform terminal emulator and multiplexer written by wez and implemented in Rust项目地址: https://gitcode.com/GitHub_Trending/we/wezterm凌晨提交了一个批处理任务SSH 连接还在跑网络先断了。重新拨号之后那个任务的去向没人知道你只能从头再来。WezTerm 的多路复用就是为这种时刻准备的会话不再挂在窗口上断线之后照样拿得回来。一句话看懂这个功能WezTerm 的会话由后台守护进程wezterm-mux-server托管窗口只是查看器关掉所有窗口进程继续跑换个窗口重连标签页原样回来。托管会话的通道叫「域Domain」它定义了会话跑在哪里、怎么连过去域类型适用场景一句话说明本地Unix域本机多窗口、防误关会话存在本地守护进程里关窗口不丢SSH 域远程服务器借 SSH 隧道连到远端的 WezTerm 守护进程TLS 域跨网络访问首次经 SSH 引导取证书之后走加密 TCP 直连主线实操把会话搬上云端断了也不丢目标是让会话脱离窗口独立存在全程三处改动本地配置、远端配置、重连动作。把本地域跑起来先让本机会话落到守护进程里这样误关窗口才能救回来。-- ~/.wezterm.lua config.unix_domains { { name unix }, -- 声明一个名为 unix 的本地域 } -- GUI 启动时自动执行 wezterm connect unix config.default_gui_startup_args { connect, unix }保存后启动 WezTerm应看到标签页挂到unix域此时用ps aux | grep wezterm-mux-server能看到守护进程已在后台运行。连上远程服务器把同样的会话能力装到远端前提是远端装了相同版本的 WezTerm。-- ~/.wezterm.lua config.ssh_domains { { name prod, -- 域名连接时用它 remote_address 192.168.1.100, -- 远端地址 username devops, -- 登录用户 }, }执行wezterm connect prod连接成功后你会看到远端原有的标签页出现在本地窗口里而不是一个全新的 shell。另外~/.ssh/config里已定义的主机会自动生成SSHMUX:前缀的域wezterm connect SSHMUX:staging即可直连无需写配置。断线后把会话拿回来这一步只验证一件事断开之后会话还在不在。wezterm cli list-domains # 列出当前所有可用域应看到 unix 与 prod wezterm connect prod # 重新挂回远端会话原标签页恢复断网期间远端命令继续执行重连后终端内容、工作目录、历史记录都在原位。本地域同理关掉全部窗口进程还在重开即恢复。两个进阶分支WSL 集成让 Windows 的 GUI 直接挂进 WSL 的会话。注意这条通路只支持 WSL 1WSL 2 的 AF_UNIX 互操作不可用。两端各改一处配置-- WSL 侧把套接字放到 Windows 可见的路径 config.unix_domains { { name wsl, socket_path /mnt/c/Users/USER/.local/share/wezterm/sock, skip_permissions_check true, -- NTFS 权限检查过不了需跳过 }, } -- Windows 侧让宿主代为启动 WSL 里的服务器 config.unix_domains { { name wsl, serve_command { wsl, wezterm-mux-server, --daemonize } }, }改完重启 Windows 端 WezTerm新开的标签页会直接落在 WSL 里。跨网络TLS 域SSH 隧道之外还可以走加密 TCP 直连。客户端首次连接经 SSH 引导拿到证书之后断线会自动用证书重连并恢复会话。config.tls_clients { { name edge, -- 连接别名 remote_address server:8080, -- 远端监听地址 bootstrap_via_ssh server, -- 首次经 SSH 引导 }, }速查卡场景命令/快捷键连接指定域wezterm connect 域名列出所有域wezterm cli list-domains停止某域的服务器wezterm cli kill-server --domain unix命令面板含 Connect to DomainCtrlShiftSpace新建窗口CtrlShiftN新建/关闭标签页CtrlShiftT / CtrlShiftW窗格间切换Alt方向键卡住了怎么自查先对版本两端分别执行wezterm --version版本不一致会直接连接失败先升级远端。再看套接字ls -la /run/user/$(id -u)/wezterm/确认套接字文件存在且属主是你自己多人共用的机器上属主错了连接方会被权限检查拒绝。打开 debug 日志wezterm --log-leveldebug connect unix失败原因会打在 stderr重点看 socket 连接与认证两行。检查远端配置SSH 域依赖远端的.wezterm.luassh 主机 cat ~/.wezterm.lua确认远端不是空配置。手动探路wezterm cli spawn --domain-name SSHMUX:主机如果它能出标签页而 GUI 里不行问题多在本地启动参数。配置都落在.wezterm.lua一处本地、SSH、WSL 用的是同一套键位和操作习惯。想确认「关掉窗口、会话不死」这件事现在就可以做一次配好本地域后wezterm connect unix关掉所有窗口重新打开再连一次。更多字段说明见官方文档 docs/multiplexing.md。【免费下载链接】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),仅供参考
返回列表