mk-mode BLOG

このブログは自作の自宅サーバに構築した Debian GNU/Linux で運用しています。
PC・サーバ構築等の話題を中心に公開しております。(クローンサイト: GitHub Pages

ブログ開設日2009-01-05
サーバ連続稼働時間
Reading...
Page View 合計
Reading...
今日
Reading...
昨日
Reading...

Linux Mint - tmux 起動時に自動でアタッチ!

[ pc_tips ] [ Linux, LinuxMint, tmux, 端末 ]

こんばんは。

前回は、仮想端末管理ソフト tmux を Linux Mint へインストールしました。

今回は、tmux 起動時にセッションが存在すれば(デタッチしたものあれば)、自動でアタッチする方法についての記録です。

0. 前提条件

  • Linux Mint 14 (64bit) での作業を想定。(Unix 系なら同じだと思う)
  • インストールする tmux のバージョンは 1.6
  • シェルは bash.

1. シェルスクリプト作成

以下の内容でシェルスクリプトを作成する。

~/tmux.sh
1
2
3
4
5
6
7
if [ -z $TMUX ]; then
  if $(tmux has-session 2> /dev/null); then
    tmux -2 attach
  else
    tmux -2
  fi
fi
  • $TMUX は、tmux のセッションの中にいる場合にセットされる。
  • -z で文字列の長さの有無をチェック。
  • tmuxhas-session というオプションでセッションが存在するか否かを確認できる。
  • 2> /dev/null はセッションが存在しない場合に出力されるエラーを表示しない。
  • tmux のオプション -2 は、256色対応のため。(環境によっては不要)

2. シェルスクリプト実行権限付与

作成したシェルスクリプトに実行権限を付与する。

1
$ sudo chmod +x tmux.sh

3. .bashrc 編集

“.bashrc” に以下の記述を追加する。
tmux を実行すると、tmux.sh が起動するということ)

~/.bashrc
1
alias tmux='~/tmux.sh'

4. .bashrc 反映

“.bashrc” の変更を反映する。

1
$ source .bashrc

5. 動作確認

実際に確認してみる。
デタッチしたもの(セッション)が存在しなければ新しいセッションで起動し、デタッチしたもの(セッション)が存在すれば直近のセッションで起動する、ことを確認する。

6. 参考サイト


これで、少し楽になりました。

以上。

Comments