Pythonで機械学習のモデルを学習させたり、重い処理を走らせたりすると、数時間、場合によっては数日かかることもありますよね。そんな時、「ターミナルを閉じてしまったらどうしよう…」「SSH接続が切れたら学習が止まってしまう…」と不安になったことはありませんか?
そんな悩みを解決してくれるのがtmuxです。この記事では、tmuxの基本的な使い方から、便利なコマンドまでを凝縮してご紹介します。
tmuxって何? 🤔
tmuxは「Terminal Multiplexer」の略で、1つのターミナル画面で複数のセッションを管理できるツールです。一番のメリットは、tmuxセッションの中で実行したコマンドは、ターミナルを閉じたり、PCとの接続が切れたりしても動き続けることです。
まさに、大学や職場のマシンで重い学習を走らせたまま、安心して家に帰ったり、睡眠をとったりできる魔法のようなツールなのです。
インストール方法
まずはtmuxをインストールしましょう。お使いのOSに合わせて、以下のコマンドを実行してください。
macOS (Homebrew)Bash
brew install tmuxUbuntu/Debian
sudo apt-get update
sudo apt-get install tmux基本的な使い方:セッションの作成から再接続まで
tmuxの操作は「プレフィックスキー」と呼ばれる特別なキーの組み合わせから始まります。デフォルトでは Ctrl + b です。まずこのキーを押し、その後にコマンドに該当するキーを押します。
1. tmuxセッションを開始する
新しいtmuxセッションを開始するには、ターミナルで以下のコマンドを入力します。
tmux new -s <セッション名>例えば、my_projectという名前のセッションを作るなら、次のように入力します。
tmux new -s my_projectセッション名をつけておくと、後でどのセッションで何を実行しているか分かりやすくなります。
2. tmuxセッションから離れる (デタッチ)
コマンドを実行したまま、その場を離れたい(ターミナルを閉じたい)時が来ました。ここでtmuxの真骨頂が発揮されます。
Ctrl + b を押した後に d を押します。
これでtmuxセッションはバックグラウンドで動き続けたまま、元のターミナル画面に戻ります。[detached (from session my_project)] と表示されれば成功です。安心してターミナルを閉じたり、SSH接続を切ったりできます。
3. tmuxセッションに再接続する (アタッチ)
後で進捗を確認したくなったり、作業を再開したくなったりしたら、セッションに再接続します。
まず、現在動いているセッションの一覧を確認しましょう。
tmux ls一覧から、戻りたいセッション名(例: my_project)を確認し、以下のコマンドでアタッチします。
tmux attach -t <セッション名>これで、以前作業していた画面がそのままの状態で復元されます。
覚えておくと便利なコマンド一覧
tmuxは非常に多機能ですが、まずは以下のコマンドを覚えれば十分に活用できます。すべて Ctrl + b の後に押すキーです。
| キー | 機能 | 説明 | 
| d | デタッチ | 現在のセッションから離れる | 
| c | 新しいウィンドウを作成 | 1つのセッション内で新しいタブのように使える | 
| n | 次のウィンドウへ移動 | next | 
| p | 前のウィンドウへ移動 | previous | 
| & | 現在のウィンドウを閉じる | |
| % | ペインを縦に分割 | 画面を左右に分ける | 
| “ | ペインを横に分割 | 画面を上下に分ける | 
| 矢印キー | ペイン間を移動 | ←, ↑, ↓, → | 
| x | 現在のペインを閉じる | |
| t | 時計を表示 | 現在の時刻を大きく表示する | 
まとめ
tmuxは、長時間かかる処理を実行するPython開発者や機械学習エンジニアにとって、もはや必須ツールと言っても過言ではありません。最初は少しとっつきにくいかもしれませんが、「セッション作成 → デタッチ → アタッチ」の基本サイクルを覚えるだけで、作業効率が劇的に向上します。
ぜひ、次の学習モデルの実行からtmuxを使ってみてください。安心してPCの前を離れられる快適さを、きっと実感できるはずです!
 
  
  
  
  

コメント