LinuxにTmuxをインストール・設定する方法|ターミナル作業を劇的に効率化
複数のターミナルを行き来していて、必要なときに目的のウィンドウが見つからず困っていませんか?そんなときに役立つのが「マルチプレクサ(端末多重化ツール)」です。マルチプレクサを使えば、1つのウィンドウの中で複数のターミナルセッションを同時に実行できます。
Tmuxは最も人気のあるマルチプレクサの一つで、多彩な機能を備えています。別々のセッションで異なるアプリケーションを走らせ、スムーズに切り替えられるため、日々の作業効率が大きく向上します。
LinuxへのTmuxのインストール方法
この記事では、LinuxマシンにTmuxをインストールし、基本設定まで行う手順を解説します。まずターミナルを開き、お使いのディストリビューションに合ったコマンドを実行してください。
Debian系ディストリビューション(Ubuntuなど)の場合:
sudo apt install tmux
CentOS/RHELの場合:
yum install tmux
Arch Linuxの場合:
pacman -S tmux
インストールが完了したら、ターミナルで tmux と入力して新しいセッションを起動しましょう。このコマンドによりウィンドウ内で新規セッションが開始され、シェルが立ち上がります。画面下部のステータスバーには、現在のセッションに関する情報が表示されます。
tmux
初心者のためのTmux基本操作ガイド
Tmuxには「セッション」「ウィンドウ」「ペイン」そしてホットキーといった独自の概念があり、初心者は最初とっつきにくく感じるかもしれません。しかし、一度コツをつかめば、作業効率は格段にアップします。
セッションは「今取り組んでいる仕事」を表す単位です。ウィンドウはセッション内でさまざまな作業を行うためのもので、さらにペインを使えば、1つのウィンドウ内で独立した複数のビューを扱えます。
これらすべての操作はTmuxのホットキーで行います。ホットキーは「プレフィックスキー+特定のキー」の組み合わせで構成され、デフォルトのプレフィックスは Ctrl + B です。
Tmuxでのセッション管理方法
Tmuxは複数のセッションを同時に扱えるため、開発者はプロジェクト間を気軽に行き来できます。もちろん、いつでも新しいセッションを作成することも可能です。
tmux new -s test-session
上記のコマンドは test-session という名前の新規セッションを作成します。すでに起動中のTmuxからでもセッションを作成できます。その場合は、プレフィックスに続けてコロン(:)を入力してコマンドモードを呼び出します。デフォルトなら Ctrl + B : です。
コマンドモードが開いたら、以下のように入力して新しいセッションを作成します。
:new -s test-session
Ctrl + B s を押すと、アクティブなセッションの一覧が表示されます。切り替えたいセッションを選択して Enter を押せば移動できます。
セッションからデタッチしても、Tmuxはプロセスをバックグラウンドで実行し続けます。デタッチするには、コマンドモードで :detach と入力するか、Ctrl + B d を押します。
最後に利用していたセッションに再接続(アタッチ)するには、次のコマンドを使用します。
tmux attach
セッション名を指定すれば、特定のセッションに直接アタッチできます。-t オプションを使用します。
tmux attach -t test-session
不要になったセッションを終了するには、kill-session コマンドを使います。
tmux kill-session -t test-session
Tmuxでのウィンドウ管理方法
Tmuxのウィンドウは画面全体に表示され、複数のペインに分割できます。各ペインは独立した疑似ターミナルとして機能します。新しいウィンドウを作成するには Ctrl + B c を押します。
ウィンドウ名を変更するには Ctrl + B , を押します。コマンドモードが開くので、そこに新しい名前を入力してください。
Tmuxではウィンドウ間の切り替えも非常に簡単です。プレフィックスに続けてウィンドウ番号を入力するだけです。たとえば Ctrl + B 2 と押せば、2番目のウィンドウへ即座に移動できます。
ウィンドウ同士を入れ替えることも可能です。Ctrl + B : でコマンドモードを開き、次のコマンドを入力します。
:swap-window -s 1 -t 3
このコマンドは1番目と3番目のウィンドウを入れ替えます。使い終わったウィンドウは Ctrl + B & で削除できます。
Tmuxでのペイン管理方法
ここまでセッションとウィンドウを見てきましたが、Tmuxの真価が発揮されるのはペインです。ペインとは、ウィンドウ内で動作する疑似ターミナルのことで、1つのTmuxウィンドウから複数のターミナルを同時に操作できます。
ペインは縦にも横にも作成できます。画面を左右に分割するには Ctrl + B " を押します。
これで現在のウィンドウが横方向に分割され、新しい領域でターミナルが起動します。上下に分割する(縦方向ペインを作る)には Ctrl + B % を使用します。
横分割と縦分割は自由に組み合わせられます。ペイン間を移動するときはホットキー Ctrl + B o を押しましょう。
ペインのズームを切り替えると、他のペインを一時的に非表示にできます。特定の作業に集中したいときに便利な機能です。Ctrl + B z でズームのオン/オフを切り替えられます。また、Ctrl + B x を押せば現在のペインをいつでも閉じることができます。
LinuxにおけるTmuxの設定方法
Tmuxはほぼすべての挙動をカスタマイズできます。まずは基本設定から始め、慣れてきたら高度なオプションに挑戦するのがおすすめです。
Tmuxの設定は ~/.tmux.conf ファイルを編集して行います。お好みのテキストエディタで編集しましょう。
vim ~/.tmux.conf
基本的な設定例をいくつか紹介します。たとえば、プレフィックスを Ctrl + B から Ctrl + A へ変更したい場合は、設定ファイルに以下の行を追加します。
set -g prefix C-a
unbind C-b
デフォルトのキー割り当てを解除(unbind)しておくと、そのキーを別のコマンドに再割り当てできます。2行目は必須ではありませんが、書いておくと良い習慣です。
ウィンドウやペインの番号はデフォルトで0から始まりますが、1始まりに変更することもできます。ゼロ始まりのインデックスに馴染めない方には、こちらの方が直感的でしょう。
set -g base-index 1 # ウィンドウ番号を1から開始
set -g pane-base-index 1 # ペイン番号を1から開始
Tmuxはターミナルベースのツールのため、初期状態ではマウス操作に対応していません。ただし、設定ファイルに次の1行を追加するだけで、簡単にマウスサポートを有効化できます。
set -g mouse on
Tmuxプラグイン入門
コミュニティ開発による多数のTmuxプラグインが公開されています。生産性向上に役立つ追加機能を提供し、ワークフロー全体を強化してくれます。プラグインの導入を支援するスタンドアロンのプラグインマネージャーも用意されています。
Tmux Plugin Manager(TPM)はその代表格で、サードパーティ製プラグインのインストールや設定を簡単に行えます。TPM公式サイトの手順に従ってインストールしてください。
特におすすめしたいのが tmux-resurrect パッケージです。これを使えば、PCを再起動した後でもTmuxのセッションを復元できます。
Tmuxでターミナルワークフローを管理しよう
Tmuxは、ウィンドウ間の切り替えに悩むターミナルユーザーにとって理想的なソリューションです。生産性を重視する人にとって心強い相棒となるでしょう。学習コストは多少ありますが、使い続けるうちに操作は自然と身につきます。
ターミナルの可能性はLinuxやPCだけにとどまりません。スマートフォンでもターミナルを利用でき、Android上で基本的なLinuxコマンドを実行することも可能です。
-
LinuxでTmuxセッションを管理・復元する方法【初心者向けガイド】
Tmuxは、豊富な便利機能を備えたターミナルマルチプレクサで、コミュニティ製のプラグインも数多く提供されています。tmuxやScreenのようなターミナルマルチプレクサを使えば、ターミナルウィンドウの生産性が飛躍的に向上し、タブ形式で複数のセッションを開いたり、画面を分割したりできます。さらに、セッション保存機能と組み合わせれば、ハードリブート後でもTmuxセッションを復元することが可能です。 tmuxのインストール Linuxディストリビューションを使用しているなら、tmuxを導入して動かすのは比較的簡単です。 Ubuntuの場合は、ターミナルからaptを呼び出して、ディストリビューション
-
Linuxサーバーで高トラフィックのWebサイトに対応させるApacheとPHPの構成方法
LAMPスタック(Linux、Apache、MySQL、PHP)のインストール手順を解説するチュートリアルのほとんどは、PHPスクリプトの処理にApacheの組み込みモジュールを使うことを推奨しています。例えばUbuntuでは、sudo apt install libapache2-mod-phpというコマンドでパッケージをインストールした時点でこの設定が有効になります。その結果、Apacheはmpm_preforkを使用せざるを得なくなり、訪問者がサイトにアクセスするたびに新しいプロセスが起動されて接続を処理することになります。トラフィックが少ないうちはこれでも十分に機能します。しかし、アク