スクリプトの作成方法
このスクリプトは、セッションが存在するかどうかを確認します。セッションが存在しない場合は、新しいセッションを作成して接続します。セッションが存在する場合は何も起こらず、そのセッションにアタッチします。`~/development' をプロジェクト名に自由に置き換えてください。
$ touch ~/development && chmod +x ~/development
# ~/development
tmux has-session -t development
if [ $? != 0 ]
then
tmux new-session -s development
fi
tmux attach -t development
端末からの新しいセッション
2 つの切り離されたセッションを作成し、それらを一覧表示して、1 つにアタッチし、tmux サイクル内からセッションを実行してみましょう。
tmux new -s name -d
新しい切り離されたセッションを作成しているため、tmux 内から動作します。そうしないと、ネスト エラーが発生します。
$ tmux new -s development -d
$ tmux new -s foo -d
$ tmux ls
> development: 1 windows (created Wed Jan 13 11:31:38 2016) [204x54]
> foo: 1 windows (created Wed Jan 13 11:31:38 2016) [204x54]
$ tmux attach -t
$ tmux ls
> development: 1 windows (created Wed Jan 13 11:31:38 2016) [204x54] (attached)
> foo: 1 windows (created Wed Jan 13 11:31:38 2016) [204x54]
tmux 内からの新しいセッション
私たちは現在、ターゲットセッションに接続されているか、接続されていることで知られています。接続中に新しいセッションを作成しようとすると、ネスト エラーが発生します。
$ tmux new -s bar
> sessions should be nested with care, unset $TMUX to force
これを解決するために、新しい切り離されたセッションを作成します。例えば、
$ tmux new -s bar -d
$ tmux ls
> development: 1 windows (created Wed Jan 13 11:31:38 2016) [204x54] (attached)
> foo: 1 windows (created Wed Jan 13 11:31:38 2016) [204x54]
> bar: 1 windows (created Wed Jan 13 17:19:35 2016) [204x54]
サイクル (スイッチ) セッション
Prefix
(
前のセッション
Prefix
)
次のセッション
注: Prefix
はCtrl-b
デフォルトです。Mac OSXにバインドできPrefix
、Ctrl-a
Mac OSXではCaps Lockをctrlに変更できますsystem preferences > keyboard > modifier keys
tmux 内でコマンド モードを使用してセッションにアタッチする
デタッチせずにセッションにアタッチしようとすると、エラーが発生します。
$ tmux attach -t development
> sessions should be nested with care, unset $TMUX to force
代わりに、コマンド モードPrefix
:
を使用attach -t session_name
してから、入力して Enter キーを押します。