Tmux
如何重置 tmux 的自動會話名稱編號?
在不小心按住 ctrl+alt+t 後,我的 tmux 會話現在會自動以令人討厭的大數字命名:
llama@llama:~$ tmux ls 124: 1 windows (created Mon Jan 5 16:45:55 2015) [80x24] (attached)
如何將此號碼重置為
1
?我嘗試tmux rename-session
將我的會話設置為較低的編號,但在關閉它並打開一個新會話後,編號會從原始編號恢復。有沒有辦法在不重新啟動 tmux 的情況下解決這個問題?
不,這目前是不可能的。
在不重新啟動伺服器的情況下,您唯一可以做的就是在創建新會話時手動覆蓋名稱
tmux new -s 5
,例如:$ tmux new -d -P 10: $ tmux ls 10: 1 windows (created Wed Jan 7 15:50:29 2015) [107x89] $ tmux new -s 5 -d -P 5: $ tmux ls 10: 1 windows (created Wed Jan 7 15:50:29 2015) [107x89] 5: 1 windows (created Wed Jan 7 15:50:40 2015) [107x89] $ tmux new -s 5 -d -P duplicate session: 5
自動會話編號由無法從命令行訪問的全域變數控制,正如 grepping 原始碼所揭示的那樣
u_int next_session_id
。session.c
tmux new-session
呼叫(第 88 行)並session_create()
在您創建新會話時遞增。flag to (short ) sets的參數,否則使用。session.c
next_session_id``-s``new-session``new``name``next_session_id
if (name != NULL) { s->name = xstrdup(name); s->id = next_session_id++; } else { s->name = NULL; do { s->id = next_session_id++; free(s->name); xasprintf(&s->name, "%u", s->id); } while (RB_FIND(sessions, &sessions, s) != NULL); }