題 tmux在mac os x上以[exited]退出


我剛安裝好了 TMUX (自製的終端多路復用器)。當我嘗試運行它時,它總是退出 [exited] 什麼都沒有出現。

當我試圖跑 tmux list-session 我收到一個錯誤:

無法連接到服務器:連接被拒絕

我試過跑 tmux start-server,但沒有任何反應。

我能做什麼?


82
2018-03-05 13:50


起源


開始使用-v選項來增加詳細程度 - Florenz Kley
檢查你的 default-command 和 default-shell 選項。如果 TMUX 在運行默認命令(或shell)時遇到問題,它會像您描述的那樣響應。為了進一步調查,你可以使用類似的東西 tmux new /bin/zsh 明確地開始(例如) /bin/zsh 而不是依靠 default-command 要么 default-shell。 - Chris Johnsen
tmux new /bin/zsh 為我工作。謝謝。 - Stevens
呃,我的建議是作為一個診斷步驟,而不是最終的解決方法。關於你的問題可能有些問題 default-shell 要么 default-command 設置。 - Chris Johnsen
我最近發現(第一次)如果1).tmux.conf存在但有語法錯誤或2).tmux.conf是一個鏈接到任何東西的符號鏈接,tmux將無法打開。首先嘗試使用默認配置文件可能會很好 mv $HOME/.tmux.conf $HOME/.tmux.conf.backup 並查看tmux是否啟動。 @ChrisJohnsen是對的,你的解決方案只是意味著有一個錯誤正在發生。 - scicalculator


答案:


我有同樣的問題。這是由於有了 set-option -g default-command "reattach-to-user-namespace -l zsh" 在我的 .tmux.conf 沒有 重新連接到用戶的命名空間 安裝。

修復是通過Homebrew安裝“reattach-to-user-namespace”(brew install reattach-to-user-namespace


172
2017-07-28 20:04



太棒了!正是我的系統上缺少什麼使它工作! - DannyRe
+1 萬分感謝!我有完全相同的問題。你知道如何有條件地設置選項,這樣它就不會在沒有的系統上失敗 reattach-to-user-namespace 安裝? - Patrick Oscity
@padde看 這個解決方案。 - jrhorn424
知道如何在Ubuntu中實現這一目標嗎?試圖尋找下載方式 reattach-to-user-namespace 但我的努力是徒勞的。 - DaMainBoss
@DaMainBoss reattach-to-user-namespace 僅適用於tmux。如果您在ubuntu上,只需從.tmux.conf文件中註釋掉該行 - pho79


確保那個 默認情況下,殼 選項僅包含可執行文件路徑,不包含選項。

/etc/tmux.conf 要么 ~/.tmux.conf

set-option -g default-shell“/ bin / bash”
set-option -g default-command“bash -l”
set-option -g default-path $ HOME
set-option -g default-terminal“screen-256color”

6
2017-10-17 04:58



這個答案讓我想到了真正的原因,我剛剛卸載了tcsh,我的默認shell和默認命令仍然設置為它。將它更改為/ bin / ksh,或者您選擇的默認安裝shell,為我修復它。 - Jason Robinson


如果您正在使用腳本進行換行 reattach-to-user-namespace,如概述 jimeh,不要忘記使腳本可執行 chmod +x ~/bin/login-shell


0
2017-10-10 22:37