他のtmuxセッションに接続したときに現在のtmuxセッションから自動的に切り離すことは可能ですか?

他のtmuxセッションに接続したときに現在のtmuxセッションから自動的に切り離すことは可能ですか?

tmuxセッション内で新しいtmuxに接続しようとすると、エラーが表示されます。

sessions should be nested with care, unset $TMUX to force

セッションを入れ子にしない理由は理解できますが、手動で切り離して新しいセッションに再接続する必要があるため、tmuxセッション間を移動するのは面倒です。

$ TMUXを設定解除せずに現在のtmuxセッションから切り離され、特定のセッションに添付されるコマンドを生成できますか?

試してみましたが、うまくalias tm="tmux detach; tmux new -A -s"いきません。tmux new -A -s分離したばかりのシェルが戻っているシェルではなく実行中であるため、これは驚くべきことではありません。

答え1

detach-client [-aP] [-E shell-command] [-s target-session] [-t target-client]

[...]クライアントを交換するには-E、runを使用してください。shell-command

源泉)

tm() { tmux detach -E "tmux new -A -s '$1'"; }

nullケースを処理するためにいくつかのロジックを追加する必要があるかもしれません$1

関連情報