Tips

開発Tips(2026-02-04)

`tmux`は、ターミナルセッションを複数のペインやウィンドウに分割し、バックグラウンドで実行し続けることができるターミナルマルチプレクサです。これにより、リモート接続が切れても作業を継続したり、複数の作業を効率的に切り替えたりできます。

技術・言語・ツール: tmux

tmuxは、ターミナルセッションを複数のペインやウィンドウに分割し、バックグラウンドで実行し続けることができるターミナルマルチプレクサです。これにより、リモート接続が切れても作業を継続したり、複数の作業を効率的に切り替えたりできます。

tmuxでターミナル作業を効率化する

tmuxは、単一のターミナルウィンドウ内で複数のシェルセッションを管理できる強力なツールです。リモートサーバーでの作業中にSSH接続が切れても作業が中断されないようにしたり、ローカルで複数のタスクを並行して実行する際にターミナルを整理したりするのに役立ちます。

基本的な使い方

  1. 新しいセッションの開始:

    tmux

    これで新しいtmuxセッションが開始され、デフォルトで1つのウィンドウと1つのペインが作成されます。

  2. セッションからデタッチ (一時離脱): 作業中にtmuxセッションから一時的に離れても、セッションはバックグラウンドで実行され続けます。 キーバインド: Ctrl+bを押してからd (detach)

  3. セッションに再アタッチ (再接続): バックグラウンドで実行中のセッションに再度接続します。

    tmux attach
    # もしくは、特定のセッション名にアタッチする場合
    # tmux attach -t my_session
  4. ウィンドウの操作:

    • 新しいウィンドウの作成: Ctrl+bを押してからc
    • 次のウィンドウへ移動: Ctrl+bを押してからn
    • 前のウィンドウへ移動: Ctrl+bを押してからp
    • 特定のウィンドウへ移動: Ctrl+bを押してから09の数字
  5. ペインの分割: 一つのウィンドウを複数の領域(ペイン)に分割し、それぞれで異なるコマンドを実行できます。

    • 水平に分割: Ctrl+bを押してから" (ダブルクォート)
    • 垂直に分割: Ctrl+bを押してから% (パーセント)
    • ペイン間を移動: Ctrl+bを押してから矢印キー

注意点とおすすめポイント

  • 永続性: 特にリモートサーバーでの長時間かかる処理(ビルド、データ処理など)でtmuxを使えば、ネットワークが切断されてもプロセスは継続します。
  • 生産性の向上: 複数のログを監視したり、コードを編集しながらテストを実行したりと、複数の作業を同時に行う際にターミナルを効率的に整理できます。
  • .tmux.confによるカスタマイズ: ~/.tmux.confファイルを作成することで、キーバインドや外観、ステータスバーなどを自分好みにカスタマイズできます。例えば、Ctrl+b以外のプレフィックスキーを設定したり、マウススクロールを有効にしたりすることができます。
  • セッション名の付与: tmux new -s my_sessionのようにセッションに名前を付けると、複数のセッションを管理しやすくなります。