tmux安装与claude监控安装
用 tmux + claude-tmux + claude-tui 管理多个 Claude Code 终端任务
tmux 负责多终端会话持久化
claude-tmux 负责查看多个 Claude Code 会话状态
claude-tui 负责查看上下文、成本、工具调用、session 统计
一、环境说明
本文以 Ubuntu / Debian / WSL / SSH 终端环境为主。
先确认 Claude Code 已经能用:
claude --version
如果这里都不能运行,先把 Claude Code 装好,再继续后面的步骤。
二、安装 tmux
Ubuntu / Debian
sudo apt update
sudo apt install -y tmux curl git build-essential
macOS
brew install tmux
验证:
tmux -V
三、安装 Rust / Cargo
claude-tmux 推荐通过 Cargo 安装,所以需要 Rust 工具链。
先检查:
cargo --version
如果没有 Cargo,安装 Rust,如果没有魔法可能安装失败,可以部分用国内安装:
curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | \
env RUSTUP_DIST_SERVER=https://mirrors.tuna.tsinghua.edu.cn/rustup \
RUSTUP_UPDATE_ROOT=https://mirrors.tuna.tsinghua.edu.cn/rustup/rustup \
sh -s -- -y --profile minimal
source "$HOME/.cargo/env"
验证:
cargo --version
四、安装 claude-tmux
执行:
cargo install claude-tmux
确认二进制文件存在:
which claude-tmux
ls -lh ~/.cargo/bin/claude-tmux
正常路径一般是:
/home/你的用户名/.cargo/bin/claude-tmux
五、配置 tmux 快捷键打开 claude-tmux
编辑 tmux 配置:
vim ~/.tmux.conf
加入这一行:
bind-key C-c display-popup -E -w 80 -h 30 "~/.cargo/bin/claude-tmux"
重载配置:
tmux source-file ~/.tmux.conf
进入 tmux:
tmux
然后按:
Ctrl-b Ctrl-c
就会弹出 claude-tmux 面板。
claude-tmux 常见状态:
● Working Claude 正在工作
○ Idle Claude 空闲,等你输入
◐ Waiting for input 等待权限确认,例如 [y/n]
? Unknown 不是 Claude 会话,或者状态无法判断
六、安装 claude-tui
claude-tui 的坑比较多,核心要求是:
Python 3.13+
先检查当前 Python:
python3 --version
如果输出是 Python 3.13.x,可以直接安装:
curl -sSL https://raw.githubusercontent.com/slima4/claude-tui/main/install.sh | bash
安装后执行:
claudetui setup
claudetui mode full
验证:
which claudetui
claudetui --help
七、如果 Python 版本不是 3.13+
很多 Ubuntu 机器默认是 Python 3.10 或 3.12。不要直接替换系统的 /usr/bin/python3,否则可能影响 apt 和系统脚本。
推荐做法:只在当前用户环境里使用 Python 3.13。
先检查:
python3.13 --version
which python3.13
如果能看到 Python 3.13,执行:
mkdir -p ~/.local/bin
ln -sf "$(command -v python3.13)" ~/.local/bin/python3
grep -q 'export PATH="$HOME/.local/bin:$PATH"' ~/.bashrc || echo 'export PATH="$HOME/.local/bin:$PATH"' >> ~/.bashrc
source ~/.bashrc
hash -r
验证:
which python3
python3 --version
你应该看到类似:
/home/你的用户名/.local/bin/python3
Python 3.13.x
然后重新安装 claude-tui:
curl -sSL https://raw.githubusercontent.com/slima4/claude-tui/main/install.sh | bash
claudetui setup
claudetui mode full
八、常见坑
1:代理环境变量导致 curl 失败
如果你看到类似错误:
curl: (97) Can't complete SOCKS5 connection
或者明明没有主动加代理,但 curl 自动走了 socks/http 代理,先检查环境变量:
env | grep -i proxy
也可以逐个 echo:
echo "http_proxy=$http_proxy"
echo "https_proxy=$https_proxy"
echo "all_proxy=$all_proxy"
echo "HTTP_PROXY=$HTTP_PROXY"
echo "HTTPS_PROXY=$HTTPS_PROXY"
echo "ALL_PROXY=$ALL_PROXY"
临时清掉当前终端代理:
unset http_proxy
unset https_proxy
unset all_proxy
unset HTTP_PROXY
unset HTTPS_PROXY
unset ALL_PROXY
再次确认:
env | grep -i proxy
如果没有输出,说明当前 shell 的代理已经清掉。
重新测试:
curl -I --max-time 10 https://astral.sh
curl -I --max-time 10 https://raw.githubusercontent.com
如果你想查代理从哪里自动注入:
grep -nEi 'proxy|1080|8080|7890|socks' ~/.bashrc ~/.profile ~/.bash_profile ~/.zshrc 2>/dev/null
2:apt 代理配置导致 502 Bad Gateway
如果你给 apt 配过代理,比如:
Acquire::http::Proxy "http://127.0.0.1:8080/";
Acquire::https::Proxy "http://127.0.0.1:8080/";
然后出现:
502 Bad Gateway [IP: 127.0.0.1 8080]
仓库 InRelease 的签名不再生效
这通常不是 Ubuntu 源坏了,而是 apt 拿到的是代理返回的 502 页面,不是真正的 InRelease 文件。
先删掉 apt 代理:
sudo rm -f /etc/apt/apt.conf.d/99proxy
sudo apt clean
确认没有残留:
ls /etc/apt/apt.conf.d/*proxy* 2>/dev/null
cat /etc/apt/apt.conf.d/*proxy* 2>/dev/null
然后重新测试:
sudo apt update
如果你的网络必须走代理,先确认代理端口真的可用。
测试 HTTP 代理:
curl -v --max-time 10 -x http://127.0.0.1:8080 https://www.cloudflare.com/cdn-cgi/trace
测试 SOCKS5 代理:
curl -v --max-time 10 --socks5-hostname 127.0.0.1:1080 https://www.cloudflare.com/cdn-cgi/trace
如果 8080 返回 502,说明这个 HTTP 代理出口不可用,不要给 apt 配 8080。
如果 1080 可用,可以尝试 apt 使用 socks5h:
sudo tee /etc/apt/apt.conf.d/99proxy <<'EOF'
Acquire::ForceIPv4 "true";
Acquire::http::Proxy "socks5h://127.0.0.1:1080/";
Acquire::https::Proxy "socks5h://127.0.0.1:1080/";
EOF
然后:
sudo apt clean
sudo apt update
不用代理时,删除它:
sudo rm -f /etc/apt/apt.conf.d/99proxy
sudo apt clean
3:deadsnakes PPA 连接超时
如果你用 deadsnakes PPA 安装 Python 3.13,可能遇到:
连接超时
无法连接 ppa.launchpadcontent.net
IPv6 网络不可达
这时有三个选择:
选择 1:优先用 uv,绕开 apt PPA
curl -LsSf https://astral.sh/uv/install.sh | sh
source "$HOME/.local/bin/env" 2>/dev/null || export PATH="$HOME/.local/bin:$PATH"
uv python install 3.13
选择 2:修好代理后再 apt install
确认代理可用后再执行:
sudo apt update
sudo apt install -y python3.13 python3.13-venv libpython3.13-stdlib
选择 3:不用 claude-tui,先只用 tmux + claude-tmux
如果网络暂时修不好,claude-tmux 已经足够看多个 Claude 是否 working、idle、waiting。
九、推荐的 tmux 工作流
创建多个 Claude 任务 session:
tmux new -s claude-api
tmux new -s claude-web
tmux new -s claude-test
tmux new -s claude-monitor
在前三个 session 里启动 Claude:
claude
在 monitor session 里启动 claude-tui:
claudetui monitor
最终结构类似:
tmux
├── claude-api # Claude 任务 1
├── claude-web # Claude 任务 2
├── claude-test # Claude 任务 3
└── claude-monitor # claudetui monitor
日常命令:
tmux ls
tmux attach -t claude-api
tmux attach -t claude-web
tmux attach -t claude-test
在任意 tmux session 里打开 claude-tmux:
Ctrl-b Ctrl-c
打开 claude-tui 实时监控:
claudetui monitor
查看历史统计:
claudetui stats
查看 session 列表:
claudetui sessions list
十、最终配置
我的推荐组合是:
vim ~/.tmux.conf
配置:
# Ctrl+a c 新建 window
# Ctrl+a d detach
# Ctrl+a | 左右分屏
# Ctrl+a - 上下分屏
# Alt+h/j/k/l 直接切 pane
# 鼠标点击 选择 pane
# 鼠标拖边框 调整 pane 大小
# 把 prefix 从 Ctrl+b 改成 Ctrl+a
unbind C-b
set -g prefix C-a
bind C-a send-prefix
# 开启鼠标
set -g mouse on
setw -g mode-keys vi
# 鼠标左键拖选:自动进入 copy-mode,并限定在当前 pane
bind-key -T root MouseDrag1Pane if-shell -F "#{pane_in_mode}" "send-keys -M" "copy-mode -M"
# 鼠标松开:复制并退出 copy-mode
bind-key -T copy-mode-vi MouseDragEnd1Pane send -X copy-selection-and-cancel
bind-key -T copy-mode-vi v send -X begin-selection
bind-key -T copy-mode-vi y send -X copy-selection-and-cancel
bind-key -T copy-mode-vi Enter send -X copy-selection-and-cancel
set -g set-clipboard on
# 按 r 重新加载配置
bind r source-file ~/.tmux.conf \; display-message "tmux.conf reloaded"
# 更容易记的分屏
bind h split-window -h
bind v split-window -v
# Alt + hjkl 直接切换 pane,不需要先按 prefix
bind -n M-h select-pane -L
bind -n M-j select-pane -D
bind -n M-k select-pane -U
bind -n M-l select-pane -R
# Alt + 方向键也可以切换 pane
bind -n M-Left select-pane -L
bind -n M-Down select-pane -D
bind -n M-Up select-pane -U
bind -n M-Right select-pane -R
# Alt + 数字切 window
bind -n M-1 select-window -t 1
bind -n M-2 select-window -t 2
bind -n M-3 select-window -t 3
bind -n M-4 select-window -t 4
bind -n M-5 select-window -t 5
# 绑定claude-tmux
bind-key C-c display-popup -E -w 80 -h 30 "~/.cargo/bin/claude-tmux"
-
obsidian修改字体间距
背景 我的方案是使用云盘进行obsidian的文件同步的,各端都使用云盘进行数据的同步。最近刚买了macmini,配置在obsidian同步的时候,macos不知道为什么".obsidian"隐藏文件...
2024/11/18
-
优必选小方头刷小智机器人
1. 背景 最近在调研看智能萌宠机器人,正好看到网上有人买了优必选的小方头机器来刷目前的小智,所以买来试试。小方头机器人在2019年9月20日发布,售价1099元,现在咸鱼100块钱就能买到;小智机器...
2025/03/27
-
dify和ragflow同时启动redis冲突
1. 背景 在同一台服务器上同时启动 Dify 和 Ragflow 时,可能会遇到 Redis 容器冲突的问题。具体表现为:当两个服务都启动后,其中一个服务的 Redis 容器可能会被删除,导致该服务...
2025/03/20
-
cursor内claude4.0 中国区无法使用解决方案
相信最近大家在使用cursor的claude4.0的时候突然发现提示: https://blog.askerlab.com/content/uploadfile/202511/c97117620656...
2025/07/20
求索空间
apostle9891
360视觉云
360智慧生活
gitea
导航
hoppscotch
暂无评论