
tmux 使用教程:一个 SSH 窗口共享给多台设备
tmux 是一个经典的终端复用器,特别适合 SSH 场景:断线后程序不中断,多台设备可以进入同一个终端会话,看到相同内容,也可以按权限选择只读观看或共同操作。
官方资料
GitHub 官方仓库:https://github.com/tmux/tmux
官方 Wiki:https://github.com/tmux/tmux/wiki
官方 Getting Started:https://github.com/tmux/tmux/wiki/Getting-Started
官方安装说明:https://github.com/tmux/tmux/wiki/Installing
截至 2026-08-14,tmux 官方 Wiki 首页显示的最新版本是 tmux 3.7b。官方 Getting Started 也明确把 tmux 的典型用途写成两类:一是保护远程服务器上的程序不受 SSH 断线影响,二是让远程服务器上的程序可以从多台本地电脑访问。
先理解 shared 是什么
下面命令里的 shared 不是固定关键字,它是你自己起的 tmux 会话名,也可以理解成这个共享终端窗口的名字。
比如创建一个叫 shared 的会话:
tmux new -s shared
也可以换成你喜欢的名字:
tmux new -s macshare
tmux new -s work
tmux new -s claude
以后其他设备加入时,要使用同一个名字:
tmux attach -t shared
tmux attach -t macshare
简单记法:
tmux new -s 名字 # 创建共享终端
tmux attach -t 名字 # 加入共享终端
适合什么场景
比如你有:
- 一台 Mac mini 作为主机
- 一台 Windows PC
- 一台鸿蒙 / Android 手机
- 一台 iPhone / iPad
推荐做法是:在 Mac 上运行 tmux,其他设备通过 SSH 连到 Mac,再 attach 到同一个 tmux 会话。
结构如下:
Mac 上运行 tmux shared
↑
Windows / 鸿蒙 / Android / iOS / iPadOS 通过 SSH 加入
关键点:tmux 安装在承载终端会话的主机上。也就是说,如果 Mac 是主机,只需要 Mac 安装 tmux;Windows、手机、iPad 只需要 SSH 客户端。
安装 tmux
macOS 安装
macOS 推荐用 Homebrew:
brew install tmux
确认安装成功:
tmux -V
Linux 安装
Ubuntu / Debian:
sudo apt update
sudo apt install tmux -y
CentOS / Rocky / AlmaLinux:
sudo yum install tmux -y
Fedora:
sudo dnf install tmux -y
Arch Linux:
sudo pacman -S tmux
确认安装成功:
tmux -V
情景一:Mac 本机直接开终端,再共享给多台设备
这是最常用、也最推荐的方式。你坐在 Mac 前操作,Windows、鸿蒙、Android、iOS、iPadOS 等设备通过 SSH 加入同一个终端。
先在 Mac 上开启 SSH:
系统设置 -> 通用 -> 共享 -> 远程登录
查看 Mac 局域网 IP:
ipconfig getifaddr en0
假设 Mac 用户名是 macmini,IP 是 192.168.38.45。
在 Mac 本机 Terminal / iTerm2 里直接创建共享会话:
tmux new -s shared
这里的 shared 就是会话名。你也可以换成 macshare:
tmux new -s macshare
然后其他设备 SSH 到 Mac:
ssh macmini@192.168.38.45
加入共享窗口:
tmux attach -t shared
如果你创建时用的是 macshare,加入时也要用:
tmux attach -t macshare
只读观看,不允许误操作:
tmux attach -t shared -r
这样 Mac 本机输入命令,其他设备会同步看到;其他设备如果不是只读,也可以输入命令。
情景二:Windows SSH 到 Mac,再共享给多台设备
这种方式适合你主要坐在 Windows 前操作,但实际终端环境在 Mac 上。
先确认 Mac 已开启 SSH:
系统设置 -> 通用 -> 共享 -> 远程登录
Windows PowerShell / Windows Terminal 连接 Mac:
ssh macmini@192.168.38.45
登录成功后,在 SSH 会话里创建 tmux 共享窗口:
tmux new -s shared
这时 Windows 里的窗口其实是 Mac 上的 tmux 会话。其他设备也 SSH 到 Mac:
ssh macmini@192.168.38.45
然后加入同一个窗口:
tmux attach -t shared
只读观看:
tmux attach -t shared -r
常用命令
创建会话:
tmux new -s shared
创建一个自定义名称的会话:
tmux new -s macshare
查看所有会话:
tmux ls
加入已有会话:
tmux attach -t shared
只读加入:
tmux attach -t shared -r
退出当前设备但保留会话:
Ctrl+b,然后按 d
关闭指定会话:
tmux kill-session -t shared
重命名会话:
tmux rename-session -t shared work
新建窗口:
Ctrl+b,然后按 c
切换下一个窗口:
Ctrl+b,然后按 n
切换上一个窗口:
Ctrl+b,然后按 p
水平分屏:
Ctrl+b,然后按 "
垂直分屏:
Ctrl+b,然后按 %
切换面板:
Ctrl+b,然后按方向键
关闭当前面板:
exit
常见提示是什么意思
如果执行:
tmux attach -t shared
看到:
no sessions
说明当前没有任何 tmux 会话。先创建:
tmux new -s shared
如果执行:
tmux new -s shared
看到:
duplicate session: shared
说明已经有一个叫 shared 的会话了,不要重复创建,直接加入:
tmux attach -t shared
如果看到:
sessions should be nested with care, unset $TMUX to force
说明你已经在 tmux 里面,又想进入另一个 tmux。通常先退出当前 tmux 但保留会话:
Ctrl+b,然后按 d
再执行 attach。
推荐实践
电脑端用于操作:
tmux attach -t shared
手机端用于观看,建议只读:
tmux attach -t shared -r
如果手机屏幕太窄,可能会影响 tmux 的整体显示尺寸。手机端建议横屏、调小字体,或者只在需要时短暂接入。
排查 SSH 连不上
如果手机或其他设备连不上 Mac,先检查:
- Mac 是否开启了远程登录
- 用户名是否正确
- IP 是否正确
- 设备是否在同一个局域网
- 路由器是否开启了访客网络隔离 / AP 隔离
- Mac 防火墙是否拦截 SSH
Mac 上确认 22 端口是否监听:
sudo lsof -iTCP:22 -sTCP:LISTEN
从其他设备测试:
ssh macmini@192.168.38.45
一句话总结
谁承载共享终端,谁安装 tmux。Mac 作为主机时,tmux 放在 Mac 上;Windows、鸿蒙、Android、iOS 都只是 SSH 客户端。shared 只是会话名,可以换成任何你喜欢的名字,但创建和加入时必须保持一致。
暂无评论
