接頭辞の一致により、'tmx'(tmux) が既存のセッションに誤って接続されます。

接頭辞の一致により、'tmx'(tmux) が既存のセッションに誤って接続されます。

「tmx」を使って「foos」というtmuxセッションを作成しました。しかし、tmuxは私を既存のセッションに接続します。

指定されたセッションを直接作成したいと思います。より良い点は、すべてのコンテキストでセッションを処理するときに「tmx」をプレフィックス一致から正確な一致に切り替えたいと思います。

私の "tmx"スクリプトには多くのことが行われていますが、関連する部分は次のとおりです。

  if tmux has-session -t "${name}" &> /dev/null; then
    exec env SSH_AUTH_SOCK="${d}/${s}" ${f} tmux "${args[@]}" attach-session -t "${name}"
  else
    exec env SSH_AUTH_SOCK="${d}/${s}" ${f} tmux "${args[@]}" new-session -s "${name}"
  fi

答え1

~からman 1 tmux:

target-session以下を順番に試してください。

  1. セッションIDの前に$
  2. セッションの正確な名前(list-sessionsコマンドとしてリストされています)
  3. たとえば、セッション名の先頭は名前付きmysessセッションと一致しますmysession
  4. fnmatch(3)パターンマッチングセッション名。

したがって、これは意図的に設計されています。正確な一致がなければ、あまり正確でない一致もあります。しない限り… …

セッション名の前にプレフィックスが付いている場合は、=正確な一致のみが許可されます。したがって、代わりに=mysess正確な一致のみが一致します。mysessmysession

解決策:-t "=${name}"適切に使用してください。

関連情報