在不小心按住 ctrl+alt+t 后,我的 tmux 会话现在自动以令人讨厌的高数字命名:
llama@llama:~$ tmux ls
124: 1 windows (created Mon Jan 5 16:45:55 2015) [80x24] (attached)
Run Code Online (Sandbox Code Playgroud)
我怎样才能把这个号码重置为1
?我曾尝试将tmux rename-session
我的会话设置为较低的编号,但在关闭它并打开一个新会话后,编号会从原始编号恢复。
有没有办法在不重新启动 tmux 的情况下解决这个问题?
小智 9
不,这目前是不可能的。
在不重新启动服务器的情况下,您唯一可以做的就是在创建新会话时手动覆盖名称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
Run Code Online (Sandbox Code Playgroud)
自动会话数量由全局变量支配u_int next_session_id
在session.c
不能从命令行访问,作为grepping源代码显示。
tmux new-session
调用session_create()
在session.c
(线88)和next_session_id
当你创建一个新的会话递增。-s
flag to new-session
(short 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);
}
Run Code Online (Sandbox Code Playgroud)