
意外按住 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 的情況下解決這個問題?
答案1
不,目前這是不可能的。
在不重新啟動伺服器的情況下,您唯一可以做的就是在建立新會話時手動覆蓋名稱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
自動會話數由全域變數u_int next_session_id
控制session.c
正如 grep 原始碼所示,無法從命令列存取它。
tmux new-session
session_create()
來電session.c
(第 88 行)並且next_session_id
每當您建立新會話時都會遞增。(short )的-s
flag參數設置,否則使用。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);
}
答案2
嘗試:
tmux kill-server && tmux