tmuxのバージョンアップ&セッション情報の保存

f:id:tocguitar1:20161012094513p:plain

tmuxでセッション情報を保存・復元したい

ちょっと前からtmuxを使っているのですが、

CentOS7で普通にyumでインストールしたのでバージョンが1.8でした

そして最近、tmux用の踏み台サーバを移動するため、

一度シャットダウンしないといけないことになりました

そこで気づきました


今まで育てたセッション達が死んでしまう


そこでセッション情報を保存する方法がないものか調べたところ、

以下のプラグインで実現できることがわかりました

github.com

このプラグインを使うにはtpmで管理すると良い感じだということがわかり、

tpmを使ってみようとしましたが、

調べるとtmux1.9からじゃないと使えないとのこと・・・\(^o^)/


せっかくなのでtmuxを最新バージョンへアップデートしてみることにしました


ちなみに、バージョンアップ後、バージョンアップ前のセッション情報は使えず、育てたセッション達は無事死亡いたしました


現在1.8のバージョンを最新の2.3へバージョンアップ

古いtmuxの削除

# yum remove tmux


依存関係のあるモジュールのインストール

# yum install libevent-devel ncurses-devel


tmux2.3のインストール

# cd /usr/local/src
# wget https://github.com/tmux/tmux/releases/download/2.3/tmux-2.3.tar.gz
# tar -xvf tmux-2.3.tar.gz
# cd tmux-2.3
# ./configure && make
# make install


tmuxプラグイン管理tpmのインストールおよび設定とプラグインインストール

tpmのインストール

# git clone https://github.com/tmux-plugins/tpm ~/.tmux/plugins/tpm


.tmux.confの作成

set -g @tpm_plugins '              \
  tmux-plugins/tpm                 \
  tmux-plugins/tmux-resurrect      \

'

run-shell '~/.tmux/plugins/tpm/tpm'


.tmux.confの読み込み

# tmux source-file ~/.tmux.conf


プラグインのインストール

  • tmuxを起動してprefix I(shift+I)でpluginがインストールされる


tmux-resurrectでのセッション情報の保存と復元を試してみる

現在のtmuxセッションの確認

  • いづれかのセッションにアタッチし、prefix Ctrl + sでセッションを保存
# tmux ls
system1: 1 windows (created Tue Oct 11 18:11:28 2016) [294x78]
system2: 1 windows (created Tue Oct 11 18:16:18 2016) [294x78]
system8: 1 windows (created Tue Oct 11 18:19:27 2016) [294x78]
system9: 2 windows (created Tue Oct 11 18:20:40 2016) [294x78]
systemA: 1 windows (created Tue Oct 11 18:23:29 2016) [294x78]
systemC: 2 windows (created Tue Oct 11 18:29:35 2016) [294x78]


セッションの削除

# tmux kill-server
# tmux ls
no server running on /tmp/tmux-0/default


tmuxサーバーを起動し、prefix Ctrl + rでセッションを復元


セッションの確認

# tmux ls
0: 1 windows (created Wed Oct 12 10:46:41 2016) [294x78]
system1: 1 windows (created Wed Oct 12 10:46:43 2016) [294x78]
system2: 1 windows (created Wed Oct 12 10:46:43 2016) [294x78]
system8: 1 windows (created Wed Oct 12 10:46:43 2016) [294x78]
system9: 2 windows (created Wed Oct 12 10:46:44 2016) [294x78]
systemA: 1 windows (created Wed Oct 12 10:46:44 2016) [294x78]
systemC: 2 windows (created Wed Oct 12 10:46:44 2016) [294x78]

他にも色々プラグインがあるみたいなのでこれから色々いじっていきたいと思います!


参考情報

qiita.com qiita.com qiita.com qiita.com dev.classmethod.jp qiita.com