Ubuntu 上安装与更新 tmux
适用环境:Ubuntu 24.04(x86_64)。本文采用官方 release 源码编译,将 tmux 安装到用户目录 ~/.local,并保留 Ubuntu 自带的 /usr/bin/tmux 作为回退版本。
当前安装状态
以下是 2026-07-13 的环境快照:
用户安装路径:~/.local/bin/tmux
当前安装版本:tmux 3.7b
系统备用路径:/usr/bin/tmux
系统备用版本:tmux 3.4因为 ~/.local/bin 位于 /usr/bin 之前,直接执行 tmux 时会使用用户安装的新版本。
首次安装编译依赖
依赖通常只需安装一次:
sudo apt-get update
sudo apt-get install -y \
build-essential \
bison \
pkg-config \
libevent-dev \
libncurses-dev查询官方最新版本
通过 GitHub 官方 API 查询,不要依赖可能滞后的搜索结果:
curl -fsSL https://api.github.com/repos/tmux/tmux/releases/latest \
| grep -E '"tag_name"|"published_at"|"browser_download_url"|"digest"'官方发布页面:https://github.com/tmux/tmux/releases/latest
以下示例使用 3.7b。升级到后续版本时,请同时替换版本号和官方 API 中给出的 SHA-256。
下载并校验源码
VERSION=3.7b
cd /tmp
curl -fLO \
"https://github.com/tmux/tmux/releases/download/${VERSION}/tmux-${VERSION}.tar.gz"tmux 3.7b 官方源码包的 SHA-256:
87f2e99e3b685973f2ca002ffd6ed7e51a5744f7009daae5a15670b6d532db96执行校验:
echo '87f2e99e3b685973f2ca002ffd6ed7e51a5744f7009daae5a15670b6d532db96 tmux-3.7b.tar.gz' \
| sha256sum -c -只有看到以下结果后才继续:
tmux-3.7b.tar.gz: OK编译和安装
VERSION=3.7b
cd /tmp
tar -xzf "tmux-${VERSION}.tar.gz"
cd "tmux-${VERSION}"
./configure --prefix="$HOME/.local"
make -j"$(nproc)"
./tmux -V
make install
hash -r这里的 make install 不需要 sudo,因为目标目录属于当前用户。
安装后验证
确认默认路径和版本:
command -v tmux
tmux -V
type -a tmux预期默认路径类似:
/home/<user>/.local/bin/tmux检查动态库是否均能找到:
ldd "$HOME/.local/bin/tmux"使用独立 socket 做冒烟测试,不影响正常 session:
tmux -L upgrade-test new-session -d -s smoke-test
tmux -L upgrade-test display-message -p '#{version} #{session_name} #{window_name}'
tmux -L upgrade-test list-panes -a -F '#{pane_current_command}'
tmux -L upgrade-test kill-server后续更新
- 使用 GitHub 官方 API 查询最新 release。
- 从 release 的
assets中确认下载地址和sha256:摘要。 - 下载源码包并校验 SHA-256。
- 使用相同的
--prefix="$HOME/.local"编译并安装。 - 执行版本检查和隔离 socket 冒烟测试。
新版本会覆盖 ~/.local/bin/tmux 和对应 man page,但不会修改 /usr/bin/tmux。
如果更新时已有 tmux server 在运行,旧 server 不会自动变成新版本。保存工作并退出全部旧 session 后执行:
tmux kill-server
tmux -V
tmuxtmux kill-server 会终止该 server 下的全部 session,执行前务必确认其中没有未保存的工作。回退到 Ubuntu 自带版本
临时运行系统版本:
/usr/bin/tmux -V
/usr/bin/tmux让系统版本重新成为默认版本:
mv "$HOME/.local/bin/tmux" "$HOME/.local/bin/tmux.disabled"
hash -r
command -v tmux
tmux -V恢复用户安装版本:
mv "$HOME/.local/bin/tmux.disabled" "$HOME/.local/bin/tmux"
hash -r
tmux -V清理构建文件
确认新版运行正常后,可以删除 /tmp 下的源码和压缩包:
VERSION=3.7b
rm -rf "/tmp/tmux-${VERSION}" "/tmp/tmux-${VERSION}.tar.gz"如果是在其他目录构建,请相应调整路径,并在删除前再次核对。