Como posso redefinir a numeração automática do nome da sessão do tmux?

Como posso redefinir a numeração automática do nome da sessão do tmux?

Depois de pressionar acidentalmente ctrl+alt+t, minhas sessões do tmux agora são automaticamente nomeadas com números irritantemente altos:

llama@llama:~$ tmux ls
124: 1 windows (created Mon Jan  5 16:45:55 2015) [80x24] (attached)

Como posso redefinir esse número para 1? Tentei tmux rename-sessionmudar minha sessão para um número menor, mas depois de fechá-la e abrir uma nova sessão, a numeração é retomada a partir do número original.

Existe alguma maneira de corrigir isso sem reiniciar o tmux?

Responder1

Não, isso não é possível no momento.

A única coisa que você pode fazer sobre isso sem reiniciar o servidor é substituir o nome manualmente ao criar uma nova sessão emitindo tmux new -s 5, por exemplo:

$ 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

O número da sessão automática é governado pela variável global u_int next_session_idemsession.cque não pode ser acessado a partir da linha de comando, como revela o código-fonte.

tmux new-sessionligasession_create()session.c(linha 88) e next_session_idé incrementado sempre que você cria uma nova sessão. O argumento de -sflag para new-session(short new) sets name, caso contrário, next_session_idé usado.

     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);
     }

Responder2

tentar:

tmux kill-server && tmux

informação relacionada