【Linux・Mac OS X】tmuxが超便利!使い方と様々な機能!機能解説編【図解有り】

2020年12月16日

私がLinuxを触り始めて少し経ち、sshでのリモート操作を覚え始めた頃。

テラターム2つ開くのめんどくさ。この画面、2つにならないかな。。。

なんて思っていました。

TeraTermを複製するとかでもいいですが、それよりもいい方法が「tmux」っていうやつです!

使い始めはどうやって触っていいのかわからず、動作一つ一つに戸惑いがありましたが、慣れると感動するくらい便利!!

今では、当たり前のように使っています!

今回は、そんな「tmux」の機能と使い方について解説します!

スポンサーリンク

tmux (Terminal MUltipleXer)とは

tmuxが実現してくれる機能は「ターミナルの仮想化」です。ターミナルマルチプレクサと呼ばれています。

仮想化といわれても。。。という方がほとんどですが、次の図をご覧ください。

あーね。なるほどわからん。
大丈夫です。この図で何が起きているのか解説します。

  • まず最初に普段使っているマシンのターミナルを開きます。
  • 普段のターミナルからtmuxコマンド利用して仮想的なターミナル(セッション)を作ります。
  • 作成したセッションに入る(アタッチ)ことで、普段のターミナルとは別のところで同じように作業ができます。
  • セッションを抜けたいときはデタッチで抜けることで、作業環境をそのままにして抜けることができます。
    • ただし、「exit」で抜けたり、サーバの電源を落としたりしてしまうとセッションも消えてしまします。

以上が、一番単純なtmuxの機能です。
でも本番はまだまだこれからです。

tmuxのココが凄い!

複数の仮想的なターミナル(セッション)を作ることができる!

サーバのスペックが許す限りいくらでも作成することが出来ます。

セッション間の行き来も可能です。

    デフォルトで作成する場合は、ターミナル名が「0」「1」「2」・・・というように番号がつけられますが、自分の好きな名前をつけてあげることも可能です。

    セッション内に複数のターミナル(ウィンドウ)を作成できる!

    イメージ図

    各セッションの中に現れるターミナル画面をウィンドウと言います。

    また、このウィンドウはイメージ図の通り複数作成し行き来することもできます。

    私はまだそこまで使いこなせるほど触れていないですが、、、w

    ただ、この構造は覚えておいて損はないです。

     

    画面を縦横に分割できる!

    さて、やっと来ました大本命!

    これが今回私が欲しかった機能です。

    イメージ図

    ウィンドウは縦横自由に分割することができ、分割したウィンドウの事をペインと呼び、ペインの中にペインを作ることもできるので、ウィンドウを自由にカスタマイズが出来ます。(見やすくないと意味がないですが。。。)

    また、各ウィンドウそれぞれに別々のペインを設定できます。

    私は画面分割を使ってディレクトリ状況や参考ソースを隣に移しながら、作業したかったので使ってみました。

    正直もう手放せないですw

    SSHの接続が切れても作業環境は変わらずに再接続可能!!

    サーバ操作は大抵SSH経由で遠隔操作するのが一般的ですが、Wi-Fiの調子が悪くて接続が切れた。。。とかなった場合、保存していないファイルは当然やり直しで普通に萎えますよね。

    ですが、tmuxで作成したセッション上で作業していればサーバ自体が落ちたとかでない限り、tmuxセッションは生きているので再アタッチすることが出来ます。

    Vimなどでのファイル編集中でもVim編集画面から再開できます。

    複数端末の同時アクセスが可能!

    サーバ内にあるセッション内を操作しているため複数の端末が同時にアクセスしても問題ありません。

    また、セッション内の様子がリアルタイムで配信されている為、1文字1文字入力されている様子まで各端末でズレなく表示されます。

     

    まとめ

    tmuxの便利な機能について紹介しました。

    ・セッションを複数用意できる。

    ・セッション内のウィンドウも複数作成できる。

    ・作業環境を保存でき、環境を保存したままセッションやウィンドウを移動できる。

    ・縦横自由に画面分割できる。

    ・ネットワークトラブルなどでSSHが切断されても作業環境が消えずにそのまま作業を再開できる。

    ・複数の端末から同時にアクセスできる。

    次回のtmux解説・紹介は実際のターミナルで操作方法を紹介します。