Linux
用 tmux “替換”預設 shell (bash)
背景: 我公司的一位同事一直在使用 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
您是說從 bash 配置文件中啟動 tmux 嗎?
在這種情況下,您應該在 tmux 前面加上關鍵字來啟動它
exec
:exec tmux ...
為了讓 bash 被 tmux 完全取代。