どのように新しいtmuxセッションの場になることがあ

StackOverflow https://stackoverflow.com/questions/3432536

  •  26-09-2019
  •  | 
  •  

質問

私はそうとしていることをどのように付けるのに 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, jkoelkerpjincz, を使用するには、次のコマンドに添付する mySession 存在する場合には、ホームページを作成いたします。っていることを確認してください:

 tmux new -A -s mySession

から man tmux:

new-session[-AdDEP] [-cstart-directory] [-Fformat] [-nwindow-name] [-ssession-name] [-tgroup-name] [-xwidth] [-yheight] [shell-command]

(別名: new)

新しいセッション名 session-name.

[...]

-A フラグが new-session ように振る舞い attach-session の場合 session-name がすでに存在する;この場合、 -D のように動作す -dattach-session.

new-session を支援して -A 以来、tmux-1.8.

:私はホタルブクロの答えは1つのセッションを使用するのに十分である見つけるが、

、このスクリプトはあなたのセットアップ複数のセッションをすることができます

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
ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top