Как я могу сбросить автоматическую нумерацию имен сеанса 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 

Автоматический номер сеанса определяется глобальной переменной u_int next_session_id в session.c которой невозможно получить доступ из командной строки, как показывает grepping исходный код.

tmux new-session вызывает session_create() в session.c (строка 88), а 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); }