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

2

Depois de pressionar ctrl + alt + t acidentalmente, minhas sessões tmux agora são nomeadas automaticamente 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 ? Eu tentei tmux rename-session 'ing minha sessão para um número menor, mas depois de fechá-lo e abrir uma nova sessão, a numeração continua do número original.

Existe alguma maneira de corrigir isso sem reiniciar o tmux?

    
por Doorknob 05.01.2015 / 23:55

1 resposta

3

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_id em session.c que não pode ser acessado a partir da linha de comando, como o grepping revela o código-fonte.

tmux new-session chamadas session_create() em session.c (linha 88) e next_session_id são incrementados sempre que você cria uma nova sessão. O argumento de -s flag para new-session (short new ) define 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);
     }
    
por 07.01.2015 / 17:58

Tags