在 OS X 上的 Terminal.app 中启动 tmux 的正确方法是什么

在 OS X 上的 Terminal.app 中启动 tmux 的正确方法是什么

我有 ...

如果 [ “$TMUX” = “” ]; 然后 tmux; fi

... 在我的 .zshrc 中,它非常适合 ssh 连接。

但是,我在使用 Terminal.app 时遇到了问题。

当我输入 exit 时,tmux 关闭,但我仍留在一个显示 [退出] 的打开的窗口中。

我必须再次输入 exit 来关闭窗口。

如何在 Terminal.app 中调用 tmux 以避免输入两次 exit?

答案1

按照您当前的操作方式,您需要再次退出,因为您正在将 tmux 作为 shell 的子进程运行。

IIRC,您需要通过exec以下方式替换当前的 shell 进程:

if [ "$TMUX" = "" ]; then exec tmux; fi

答案2

对于将来偶然发现它的人 - 我的做法如下:

  1. 启动 Terminal.app
  2. 打开偏好设置
  3. 转到“个人资料”->“Shell”
  4. 在“开始”部分选择“执行命令”并输入exec tmux(确保也选择了在自己的 shell 中运行)

相关内容