Tips

新しいtmuxセッションを開始する(名前は任意)

`tmux`は、ターミナルセッションを管理・多重化するための強力なツールです。これを使えば、一つのターミナルウィンドウ内で複数のシェルセッションを同時に実行したり、ネットワーク接続が切れてもセッションを保持したりできます。作業効率を飛躍的に向上させ、リモート作業の安定性も高めます。

技術・言語・ツール: tmux

tmuxは、ターミナルセッションを管理・多重化するための強力なツールです。これを使えば、一つのターミナルウィンドウ内で複数のシェルセッションを同時に実行したり、ネットワーク接続が切れてもセッションを保持したりできます。作業効率を飛躍的に向上させ、リモート作業の安定性も高めます。

ネットワーク切断に負けない!tmuxで開発環境を永続化する

SSH接続でリモートサーバにログインして作業している際、ネットワークが不安定になったり、誤ってターミナルを閉じたりして、せっかくの作業が中断・消失した経験はありませんか?tmuxを使えば、たとえ接続が切れてもターミナルセッションがサーバ上で生き残り、再接続後に作業をそのまま再開できます。

# 新しいtmuxセッションを開始する(名前は任意)
tmux new -s my-dev-session

# tmuxセッションからデタッチする (Ctrl+bを押してからd)
# ここでターミナルを閉じたり、SSH接続が切れてもセッションは生き残る

# 既存のtmuxセッションに再接続する
tmux attach -t my-dev-session

# 実行中のすべてのtmuxセッションを確認する
tmux ls

# セッション内で新しいウィンドウを作成する (Ctrl+b c)
# ウィンドウ間を移動する (Ctrl+b n: 次のウィンドウ, Ctrl+b p: 前のウィンドウ)

# ウィンドウを縦に分割する (Ctrl+b %)
# ウィンドウを横に分割する (Ctrl+b ")
# ペイン間を移動する (Ctrl+b 矢印キー)

注意点やおすすめポイント:

  • 永続性: ネットワーク接続が切断されても作業状態が失われないため、リモートでの開発や長時間の処理実行に最適です。
  • マルチタスク: 一つのターミナル内で複数のウィンドウやペイン(分割された領域)を作成し、それぞれで異なるコマンドを実行できます。
  • 共同作業: 同じtmuxセッションに複数のユーザーがアタッチして、リアルタイムで同じ画面を共有することも可能です。
  • 学習コスト: 初期設定やキーバインドに慣れるまでは少し時間がかかりますが、一度習得すれば開発効率が劇的に向上します。ぜひ使ってみてください!