用 tmux“替换”默认 shell (bash)

用 tmux“替换”默认 shell (bash)

背景: 我公司的一位同事一直使用 tmux。在我们的业余时间,他教会了我足够的知识来掌握 tmux 和 vim。我真的爱上了这个组合的力量。

目前,当我启动终端应用程序时,我主要在 OS X 中使用 tmux。根据我去的地方,我选择不同的笔记本电脑(因此也有其他操作系统),所以我经常通过 ssh 远程编码,使用运行 Ubuntu(服务器版本)的服务器,一切都在它的位置上。

问题: 我想连接到我的服务器并立即使用最后一个 tmux 会话,并且永远不需要使用经典的 bash。

tmux new-session -A -s main我目前通过在我的 rc 配置中使用并使用两次来解决它,CTRL-D尽管当我退出时我仍然会回退。

有更好的方法吗?

答案1

你不想覆盖你的 bash。您只需要 tmux 进行交互式会话,并且不想像其他答案一样递归地执行它。

取自 [1] 的简单示例,常见用例是您尝试附加最后一个会话,这可能很有用。这应该进入你的~/.bashrc.

echo Checking for tmux
if [ -z ${TMUX} ]; then
  /usr/bin/tmux attach || /usr/bin/tmux
fi

[1]http://ubuntuforums.org/showthread.php?t=2236875

答案2

您是说从 bash 配置文件启动 tmux 吗?

在这种情况下,您应该在 tmux 前面添加关键字来启动 tmux exec

exec tmux ...

为了让 bash 完全被 tmux 取代。

相关内容