tmux의 자동 세션 이름 번호를 재설정하는 방법은 무엇입니까?

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를 다시 시작하지 않고 이 문제를 해결할 수 있는 방법이 있습니까?

답변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.cgrep 소스 코드에서 볼 수 있듯이 명령줄에서는 액세스할 수 없습니다.

tmux new-sessionsession_create()수신 전화session.c(라인 88) next_session_id새 세션을 생성할 때마다 증가됩니다. (짧은) -s플래그 매개변수 설정, 그렇지 않으면 사용됩니다.new-sessionnewnamenext_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

관련 정보