tmux でセッションを記憶する
tmux はターミナルを使う上で非常に便利なツールですが、PC の再起動時やハングしてしまった時にセッションが消えてしまって悲しくなる瞬間があります。
tmux にはプラグイン機能があり、tmux-resurrect というプラグインがあります。
このプラグインを使って、ハングしてしまってもセッションが残るように設定してみました。
前提
tmux は導入している前提で書いております。
手元で動かした環境は macOS Catalina (10.15.6) です。
Tmux Plugin Manager をインストールする
まずはプラグインを導入するために TPM (Tmux Plugin Manager) をインストールします。
GitHub に書いてある通りにはなりますが、順を追って設定して行きます。
リポジトリをクローンする
$ git clone https://github.com/tmux-plugins/tpm ~/.tmux/plugins/tpm
~/.tmux.conf
にプラグインを設定する
GitHub の通り、以下の2つをリストアップし、 run
で TPM の初期化を行います。
tmux-sensible は全ての tmux ユーザーに設定してほしいものだそうです。詳細は GitHub をご参照ください。
# List of plugins
set -g @plugin 'tmux-plugins/tpm'
set -g @plugin 'tmux-plugins/tmux-sensible'
# Initialize TMUX plugin manager (keep this line at the very bottom of tmux.conf)
run '~/.tmux/plugins/tpm/tpm'
編集を保存して、設定ファイルをリロードします。
tmux source ~/.tmux.conf
tmux-resurrect プラグインを追加する
~/.tmux.conf
を開いて、以下を追加します。
set -g @plugin 'tmux-plugins/tmux-resurrect'
編集を保存したら、 prefix + I
でプラグインをインストールします。
セッションを保存してリストアしてみる
セッションの保存とリストアは以下のコマンドで実行できます。
- 保存
prefix + Ctrl-s
- リストア
prefix + Ctrl-r
保存すると、以下のメッセージが表示されます!
同様に、リストアすると以下のメッセージが表示されて、セッションが復活します!
自動でセッションを保存してくれるようにする
なんと、tmux-continuum という自動でセッションを保存してくれるプラグインがあります!
なので、このプラグインを追加してみます。
もうご存知の手順で、 ~/.tmux.conf
に追加してインストールします。
set -g @plugin 'tmux-plugins/tmux-continuum'
prefix + I
でインストール。
すると、以下のディレクトリにテキストで状態が保存されリストアできるようになるようです。
% ll .tmux/resurrect
total 24
... 09:16 last -> tmux_resurrect_20210602T091603.txt
... 17:24 tmux_resurrect_20210601T172447.txt
... 17:46 tmux_resurrect_20210601T174654.txt
... 09:16 tmux_resurrect_20210602T091603.txt
%
だいぶ便利になりました!
Discussion