最初のtmuxセッションに接続する方法追加の顧客なしまたは、未接続のセッションがない場合は、新しいセッションを作成して接続しますか?
(ユースケースは、新しいターミナルウィンドウが開かれたときに私のターミナルエミュレータが実行されるコマンドです。周りに別々のセッションがある場合は、ウィンドウが開かれるたびに新しいセッションを作成したくありません。また、望ましくありません。のセッションに再接続したいのですが、セッションにすでにウィンドウが接続されている場合は、接続されていない既存のセッションをリサイクルし、セッションがない場合は新しいセッションを作成したいと思います。
ベストアンサー1
シェルスクリプトを使用せずにtmux自体を使用してこれを行うより簡単な方法があるかもしれません。しかし、いくつかのスクリプトを組み合わせて動作させました。
最初のスクリプトは、接続されていない最初のセッションの名前を出力します。これは,tmux-first-unattached-session
:
#!/usr/bin/env sh
# Print the name of the first tmux session that has no clients attached.
tmux ls -F '#{session_name}|#{?session_attached,attached,not attached}' 2>/dev/null | grep 'not attached$' | tail -n 1 | cut -d '|' -f1
2 番目のスクリプトは、最初に接続されていないセッションまたは新しいセッションに接続されます。
#!/usr/bin/env sh
# Attach to the first tmux session that has no attached clients.
# If there are no unattached sessions, then create a new session.
tmux attach -t `,tmux-first-unattached-session` 2> /dev/null || tmux