TTL's Blog

日々の備忘録てきなblogです。徒然なるままに...

やっぱ tmux 超便利だわ (linux)

tmux めちゃ便利

ネタが無いので、いまさらながら blog に書いてみる。

私の環境ではRaspberryPiを用いて複数のAssettoServerを稼働させている。

都度メンテナンスを行うために停止/起動の作業が発生する為、 tmux上にて運用してます。

合計6セッションを同時に動作させてますが、快適に動作してます。

  • AssettoServer : 4セッション
  • 通知処理 : 2セッション

tmux って?

ターミナルマルチプレクサです。 使用する事でターミナルを終了してもセッションが維持される便利機能。

Serverなどリモートにて動作させている環境において SSH接続し、フツーにアプリ起動させた場合、SSHを切ると アプリも終了しちゃいます。

OSのアップデートやアップグレード、ソフトウェアのビルドなど 処理に時間がかかる場合などSSHを切断しても動作継続してほしい場合に使用します。

裏で動いているので、再度SSHなどにて接続する事で継続して作業を行う事が可能となる。

Service 使えばいいんじゃね?

Server起動時にサービスにて自動実行するのも良いのですが、 都度実行するソフトウェアの場合、サービスに組込むのは難しいので ちょっと実行したいけど、SSHなどを接続し続けるのはちょっとという場合に使用します。

準備

しれっと既にインストールされている可能性もあるので、 コンソールからコマンドを叩いてみる

tmux -V
tmux 3.3a

上記のようにtmuxのVersionが表示されればインストール済み。 "tmuxってコマンド存在しないよ"ってerrorが表示された場合は 別途インストールを行う必要あり。

Install

環境に応じてinstall方法は変わるので 公式サイトを確認しインストールする。

github.com

基本的な使い方

linux アップデート作業を例とします。

  1. 遠隔にて操作したい対象へssh接続する
  2. tmuxを起動する tmux
  3. tmuxが起動すると、画面がちょっと変わるはず。
  4. アップデートを実行 sudo apt update -y
  5. コマンド実行したら、一旦tmuxを抜けてみる "ctrl+b"を押したのち、"d"を押すとコンソールに戻る。
  6. tmuxへ戻る tmux a
  7. tmuxを終了させる場合、tmuxコンソール上にて exit と入力しエンターを押す事で終了となる

コマンドなど

"tmux"にてネット検索すると山ほど情報が出てくるので、そちらを参照。 杜甫々さんのpageが分かりやすい。(有難う御座います)

www.tohoho-web.com

コマンドは最低限以下の項目が分かれば十分です。 * 起動 / 終了 * 中断 / 復帰 * セッション名変更 * セッション移動

どこからでもメンテが出来るので非常に便利。 おためしあれ。