1. tmuxとは
tmuxとは一つのターミナルで複数のセッションやウィンドウを管理できるソフトウェアツールでTerminal Multiplexerの略です。tmux内で複数の仮想端末を切り替えることでTeratermやPutty、ターミナルなどを新規に立ち上げる手間を省き、複数の作業を効率化することができます。
tmuxのセッションはターミナルを閉じてもバックグラウンドで維持されるため、後で再接続することで作業を再開することができます。新たにSSH接続して、いちいち作業ディレクトリに移動して......なんてことをしなくて済むわけです。
画面分割(水平・垂直)も可能で、左右で結果を見比べながら.......など自分好みの画面にすることも可能です。
いろいろできるtmuxですが、はじめて触る方は出てくる用語だったりPrefix(←なにこれ)をはじめとしたショートカットの多さによくわからなくなることも多いはずです。
そこで2回の記事に分けて、これだけ知っておけば大丈夫という内容をまとめたいと思います。逆に普段使う際、これ以上のことは知っている必要はありません。これから知る必要もありません。
OSやターミナルの環境により若干異なる部分はありますが(特にクリップボードの共有)、まずは始めてみましょう。
この記事では用語・準備編として、出てくる用語とインストールまでを示します。
2. インストールする
ほどんどの環境にてtmuxはビルド済みのパッケージが提供されていますので、以下のインストールコマンドを打つだけでインストールは簡単に完了します3。
(root権限で実行することを忘れずに!)
最新版をインストールするため、インストール前にsudo dnf update
などでパッケージリストを更新しておきましょう。
distribution | インストールコマンド |
---|---|
Debian / Ubuntu | apt install tmux |
RHEL / CentOS |
yum install tmux or dnf install tmux
|
MacOS | brew install tmux |
$ sudo dnf -y install tmux
Ksplice for Oracle Linux 8 (aarch64) 4.6 MB/s | 2.7 MB 00:00
...
Running transaction
Preparing : 1/1
Installing : tmux-2.7-3.el8.aarch64 1/1
Running scriptlet: tmux-2.7-3.el8.aarch64 1/1
Verifying : tmux-2.7-3.el8.aarch64 1/1
Installed:
tmux-2.7-3.el8.aarch64
Complete!
上記の結果が確認できたら、tmux -V
コマンドでバージョンとtmuxの動作を確かめてみます。
$ tmux -V
tmux 2.7
これでインストールは完了です。
3. 用語
セッション・ウィンドウ
インストールが完了し、tmux
と打つと以下の画面になります。このコマンドによりセッションが作成され、仮想のターミナル画面としてウィンドウが表示されました。
セッションとウィンドウはともに複数作成することができるため、使っていくうちに以下のような構成になってきたりするのですが、まずは1セッション1ウィンドウから使っていきましょう。
セッションは1つでも十分です。
ペイン
ウィンドウはさらにペインと呼ばれる複数の分割画面に分けることができます。分割コマンドについてはコマンド編に回しますが、以下のような画面にすることが可能です。
実際にこんなに変な画面分割をするかはおいておいて、ここではウィンドウを好きなように分割できることを把握していただければと思います。
4. まとめ
まずは「1セッション 1ウィンドウ 複数ペイン」での利用から初めてみましょう。
↑この意味がなんとなく分かれば、tmuxについて半分は理解したも同然です。
別記事コマンド編にて実際に新規ウィンドウ作成やペイン分割のためのコマンドを扱っていきたいと思います。
お読み頂きありがとうございました。
続きのコマンド編はこちら!
-
"Azure Cloud Shellの機能 プレインストール済みツール", https://learn.microsoft.com/ja-jp/azure/cloud-shell/features#preinstalled-tools ↩
-
"OCI クラウド・シェル クラウド・シェルに含まれるもの", https://docs.oracle.com/ja-jp/iaas/Content/API/Concepts/cloudshellintro.htm#Whats_Included_With_Cloud_Shell ↩
-
"Installing tmux", https://github.com/tmux/tmux/wiki/Installing ↩