もう怖くない!ターミナルを閉じても安心なtmux入門

人工知能

Pythonで機械学習のモデルを学習させたり、重い処理を走らせたりすると、数時間、場合によっては数日かかることもありますよね。そんな時、「ターミナルを閉じてしまったらどうしよう…」「SSH接続が切れたら学習が止まってしまう…」と不安になったことはありませんか?

そんな悩みを解決してくれるのがtmuxです。この記事では、tmuxの基本的な使い方から、便利なコマンドまでを凝縮してご紹介します。

tmuxって何? 🤔

tmuxは「Terminal Multiplexer」の略で、1つのターミナル画面で複数のセッションを管理できるツールです。一番のメリットは、tmuxセッションの中で実行したコマンドは、ターミナルを閉じたり、PCとの接続が切れたりしても動き続けることです。

まさに、大学や職場のマシンで重い学習を走らせたまま、安心して家に帰ったり、睡眠をとったりできる魔法のようなツールなのです。


インストール方法

まずはtmuxをインストールしましょう。お使いのOSに合わせて、以下のコマンドを実行してください。

macOS (Homebrew)Bash

brew install tmux
Bash

Ubuntu/Debian

sudo apt-get update
sudo apt-get install tmux
Bash

基本的な使い方:セッションの作成から再接続まで

tmuxの操作は「プレフィックスキー」と呼ばれる特別なキーの組み合わせから始まります。デフォルトでは Ctrl + b です。まずこのキーを押し、その後にコマンドに該当するキーを押します。

1. tmuxセッションを開始する

新しいtmuxセッションを開始するには、ターミナルで以下のコマンドを入力します。

tmux new -s <セッション名>
Bash

例えば、my_projectという名前のセッションを作るなら、次のように入力します。

tmux new -s my_project
Bash

セッション名をつけておくと、後でどのセッションで何を実行しているか分かりやすくなります。

2. tmuxセッションから離れる (デタッチ)

コマンドを実行したまま、その場を離れたい(ターミナルを閉じたい)時が来ました。ここでtmuxの真骨頂が発揮されます。

Ctrl + b を押した後に d を押します。

これでtmuxセッションはバックグラウンドで動き続けたまま、元のターミナル画面に戻ります。[detached (from session my_project)] と表示されれば成功です。安心してターミナルを閉じたり、SSH接続を切ったりできます。

3. tmuxセッションに再接続する (アタッチ)

後で進捗を確認したくなったり、作業を再開したくなったりしたら、セッションに再接続します。

まず、現在動いているセッションの一覧を確認しましょう。

tmux ls
Bash

一覧から、戻りたいセッション名(例: my_project)を確認し、以下のコマンドでアタッチします。

tmux attach -t <セッション名>
Bash

これで、以前作業していた画面がそのままの状態で復元されます。


覚えておくと便利なコマンド一覧

tmuxは非常に多機能ですが、まずは以下のコマンドを覚えれば十分に活用できます。すべて Ctrl + b の後に押すキーです。

キー機能説明
dデタッチ現在のセッションから離れる
c新しいウィンドウを作成1つのセッション内で新しいタブのように使える
n次のウィンドウへ移動next
p前のウィンドウへ移動previous
&現在のウィンドウを閉じる
%ペインを縦に分割画面を左右に分ける
ペインを横に分割画面を上下に分ける
矢印キーペイン間を移動←, ↑, ↓, →
x現在のペインを閉じる
t時計を表示現在の時刻を大きく表示する

まとめ

tmuxは、長時間かかる処理を実行するPython開発者や機械学習エンジニアにとって、もはや必須ツールと言っても過言ではありません。最初は少しとっつきにくいかもしれませんが、「セッション作成 → デタッチ → アタッチ」の基本サイクルを覚えるだけで、作業効率が劇的に向上します。

ぜひ、次の学習モデルの実行からtmuxを使ってみてください。安心してPCの前を離れられる快適さを、きっと実感できるはずです!

コメント

タイトルとURLをコピーしました