Linux

用 tmux “替換”預設 shell (bash)

  • October 18, 2015

背景: 我公司的一位同事一直在使用 tmux。在我們的業餘時間,他教會了我足夠的知識來掌握 tmux 和 vim。我真的愛上了這個組合的力量。

目前,當我啟動終端應用程序時,我主要在 OS X 中使用 tmux。根據我去哪裡,我選擇了不同的筆記型電腦(因此也選擇了其他作業系統),所以我經常通過 ssh 遠端編碼,我的伺服器執行 Ubuntu(伺服器版本),一切都在它的位置。

問題: 我想連接到我的伺服器並立即獲得最後一個 tmux 會話,並且永遠不需要使用經典 bash。

我目前通過tmux new-session -A -s main在我的 rc 配置中並使用兩次來解決它,CTRL-D儘管當我退出時我仍然後退。

有沒有更好的方法來做到這一點?

你不想覆蓋你的 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

您是說從 bash 配置文件中啟動 tmux 嗎?

在這種情況下,您應該在 tmux 前面加上關鍵字來啟動它exec

exec tmux ...

為了讓 bash 被 tmux 完全取代。

引用自:https://unix.stackexchange.com/questions/216753