意外按住 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