之前已经在服务器上实现了 ssh 连接服务器后自动进入 tmux 会话,基本习惯了使用 tmux 之后想在mac的item2上也实现这个功能。

解决方案

编辑vi .zshrc在.zshrc最顶部增加下边代码

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
# 仅在交互式 shell 中执行
if [[ $- == *i* ]]; then
  # 检查是否在 tmux 会话中
  if [ -z "$TMUX" ]; then
    # 会话名称,可以自定义
    SESSION_NAME="pc"
    # 检查是否有已经创建的会话
    if ! tmux has-session -t $SESSION_NAME 2>/dev/null; then
    # 如果没有会话,则创建新的会话
    tmux new-session -s $SESSION_NAME
    else
    # 如果有会话,则 attach 到已有会话
    tmux attach-session -t $SESSION_NAME
    fi
  fi
fi

注意事项

一定要在加载p10k之前增加这段代码,否则会出现open terminal failed: not a terminal的问题。