筛选:Skills节点
tmux - SSH 多设备共享终端窗口教程

tmux - SSH 多设备共享终端窗口教程


Mac 上启动 tmux,让 Windows、鸿蒙、Android、iOS 共享同一个 SSH 终端窗口

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 只是会话名,可以换成任何你喜欢的名字,但创建和加入时必须保持一致。

500举报0Xiao.Xi1小时前
点击获取 ^_^
被收录:

暂无评论