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

おすすめ記事