質問
私はそうとしていることをどのように付けるのに tmux session
合名tmuxセッションが存在しない場合にはたい新規作成し、指定された名前です。
現在、私数 tmux
コマンドでも何度んが、そのなかに組み合わせとしては、どん:
tmux attach
付けを自動的に既存のセッション誤差が出ない場合はセッションが存在するtmux new
新しいセッションなので毎回きないので私.tmux.conf
tmux has-session
かどうかをテストセッションが存在するかわからないのにステッチとともにその他のコマンド
このように、私の作成tmuxスクリプト、そのこと自動的に無効になる必要はなく、手動で作成する顔が私へのログインが必要になり。
どのように書いている自動スクリプトなどを新規作成しtmuxセッション(指定されたセッション名の作品が存在し又は添付のセッション名(存在する場合)?
解決
別の方法としては、あなたが追加することができます。
new-session
あなたの.tmux.conf
に- サーバーの起動時にデフォルトのセッションを作成します。
。次にtmux attach
はどちらか(new-session
コマンドを発行し、設定ファイルを読み込み、サーバを起動する)と、それに接続します。
他のヒント
私は(それを考え出し、それが指摘していました)の私へ。
tmux attach || tmux new
指摘されているように、コメント Petr Viktorin, jkoelker や pjincz, を使用するには、次のコマンドに添付する mySession
存在する場合には、ホームページを作成いたします。っていることを確認してください:
tmux new -A -s mySession
から man tmux
:
new-session
[-AdDEP] [-c
start-directory
] [-F
format
] [-n
window-name
] [-s
session-name
] [-t
group-name
] [-x
width
] [-y
height
] [
shell-command
]
(別名:
new
)新しいセッション名
session-name
.[...]
の
-A
フラグがnew-session
ように振る舞いattach-session
の場合session-name
がすでに存在する;この場合、-D
のように動作す-d
へattach-session
.
、このスクリプトはあなたのセットアップ複数のセッションをすることができます
SESSIONS="work play"
function has-session {
tmux has-session -t $1 2>/dev/null
}
function except
{
if [ "$?" -eq 1 ] ; then
$1
fi
}
# Configure your sessions here
function session-work
{
tmux new-session -d -s work
tmux neww -k -t work:1
}
function session-play
{
tmux new-session -d -s play
tmux neww -k -t play:1
}
#
#MAIN
for x in $SESSIONS
do
echo $x
has-session $x
except session-$x
done
注:
-k --> new-window will not be created if already exists
-d --> start session or window, but don't attach to it yet
-s --> name the session
-t --> specify a target location in the form session:window.pane
起動時にプロジェクトベースのコンフィギュレーションを含めるに適応アレックスの提案は、私は以下を使用し始めます:
# ~/bin/tmux-myproject shell script
# The Project name is also used as a session name (usually shorter)
PROJECT_NAME="myproject"
PROJECT_DIR="~/myproject"
tmux has-session -t $PROJECT_NAME 2>/dev/null
if [ "$?" -eq 1 ] ; then
echo "No Session found. Creating and configuring."
pushd $PROJECT_DIR
tmux new-session -d -s $PROJECT_NAME
tmux source-file ~/bin/tmux-${PROJECT_NAME}.conf
popd
else
echo "Session found. Connecting."
fi
tmux attach-session -t $PROJECT_NAME
tmux-myproject.conf
は私のウィンドウやペインを作成するだけでなく、私のエディタを起動するためにtmuxはコマンドの私のスタートアップシリーズです。
私は必要に応じて新しいセッションを作成するためにエイリアスを使用し、それがすでに存在する場合、私のデフォルトのセッションにアタッチします:
alias tmuxre='tmux new-session -t default || tmux new-session -s default'
私は自分のサーバー上で私の.loginにこれを追加しました。
理由私はそれを行うこの方法で私は同じ実際のセッションに接続したくないので、私は窓の同じグループを使用する新しいセッションをしたい。
このもscreen -xRR
を実行しているに似てます。
fish
で同じことをしたい方のために、
tmux attach -t mysesh; or tmux new -s mysesh