はじめに
この記事は新人エンジニアの時に知っておきたかったことに含まれます。
他の記事は上記のリンクから遷移可能です。あわせてご覧ください。
tmuxとは?
tmuxはターミナルマルチプレクサーです。複数のターミナルを一つのスクリーン内に作成し、操作することができます。
バックグラウンドで処理を実行中に一度スクリーンから離れて後から復帰することも可能です。
readmeより
tmuxの何が便利なのか
バックグラウンドで動くため、ターミナルアプリでウィンドウを閉じてもすぐに同じ内容のウィンドウを再開できます。
たとえば、どこかのサーバーにログインして作業している際にネットワークが切れた場合にtmuxを使用していれば、ネットワークが切れる前の状態で作業を再開できます。
インストール
依存
readmeに書かれている依存ツールが必要になります。
インストールの前に依存ツールを用意しておきましょう。
インストール
試しにtmux2.6をインストールしてみます。
ソースは~/local/srcに配置し、tmux2.6は~/local/binに配置します。
$ mkdir -p ~/local/src
$ cd ~/local/src
$ wget 'https://github.com/tmux/tmux/releases/download/2.6/tmux-2.6.tar.gz'
$ tar zxvf tmux-2.6.tar.gz
$ cd tmux-2.6
$ ./configure --prefix=$HOME/local
$ make
$ make install
設定ファイル
.tmux.conf
という設定ファイルがあります。
キーバインド等の設定が可能です。
操作
操作に関しては以下の記事が参考になります。
tmuxinatorを使うともっと便利に
tmuxで起動するセッションを予め設定しておき、そのセッションを一発で起動してくれます。
インストール
$ gem install tmuxinator
もし、使用するgemとrubyのバージョンがtmuxinatorのバージョンと合わない場合、tmuxinatorのバージョンを指定すればインストール可能です。
// 例
$ gem install tmuxinator -v "0.9.0"
設定
$ mkdir -p ~/.tmuxinator
$ cd ~/.tmuxinator
$ wget https://raw.githubusercontent.com/tmuxinator/tmuxinator/master/completion/tmuxinator.zsh
$ echo 'source ~/.tmuxinator/tmuxinator.zsh' >> ~/.zshrc
確認
以下のコマンドで設定をインストール状況を確認できます。
$ mux doctor
Yesとなっていればインストール完了です。
使い方
以下のコマンドを実行すると、プロジェクト用の設定ファイルが作成されます。
$projectをあなたの好きな名称に変更してください。
$ mux new $project
readmeを参考にして設定ファイルを設定してみてください。
設定が終わったら、以下のコマンドでセッションを起動します。
$ mux $project
まとめ
この記事ではtmuxをご共有しました。
初めてtmuxを触った時には、これを使うと何がいいんだろうと感じました。
ところが、しばらく触ってみると、その便利さを実感するようになりました。
tmuxinatorと合わせて使うことで、一発で作業環境を用意することが可能になります。
とても便利です。
ぜひ、早い段階から導入してtmuxの利用を習慣化してみてください。
きっと作業効率が上がるはずです。