JavaScript勉強会

JavaScriptの学習日記

tmuxでLinuxのSSH接続画面を複数に増やす方法

WindowsパソコンからLinuxのWebサーバーにSSHでリモート接続するとき、RLogin等の端末ソフトを使っています。

普通は、1つのSSH接続に対して、1つの操作画面が表示されます。

 

しかし、同時にいろんなディレクトリーを見ながら作業する場合、画面が1つだとディレクトリーの切り替えが忙しくて不便です。

端末ソフトを複数立ち上げて、画面を増やしても良いのですが、「tmux」というソフトを使うと、1つの端末ソフトで複数の画面を表示させることができるようになります。

 

tmuxとは?

tmux - Wikipedia

tmux is a terminal multiplexer for Unix-like operating systems.

It allows multiple terminal sessions to be accessed simultaneously in a single window.

It is useful for running more than one command-line program at the same time.

It can also be used to detach processes from their controlling terminals, allowing SSH sessions to remain active without being visible.

Google翻訳

tmuxはUnixライクなオペレーティングシステム用のターミナルマルチプレクサです。

1つのウィンドウで同時に複数の端末セッションにアクセスできます。

複数のコマンドラインプログラムを同時に実行する場合に便利です。

また、SSHセッションが表示されずにアクティブなままになるように、制御端末からプロセスを切り離すために使用することもできます。

 

tmux 公式サイト

https://tmux.github.io/

tmux 作者

nicm (Nicholas Marriott) · GitHub

 

CentOSにtmuxをインストール

WindowsでRLoginを起動します。

(参考)RLoginの使い方

VagrantとVirtualBoxでWindows10にUbuntuをインストールする方法 - JavaScript勉強会

 

WebサーバーにSSHでリモート接続します。

 

tmuxのバージョン確認(インストールの有無を確認)

$ tmux -V
  • tmuxがインストールされていれば、バージョンが表示されます。
  • tmuxがインストールされていなければ、何も表示されません。

 

tmuxが入っていなければ、yumでtmuxのパッケージをインストールします。

$ yum install tmux
  • yumでインストールすると古いバージョンのtmuxになります。
  • ※最新のtmuxを使いたい場合、手動でダウンロードしてコンパイルします。

 

tmuxの使い方

tmuxの起動

$ tmux

 

f:id:jsstudy:20181212201012p:plain

RLoginの画面で下の方に緑色のバーが表示されたら、tmuxが起動しています。

 

tmuxのヘルプを表示する(Ctrl+b→?)

tmuxはバージョンによって機能が違います。

まず最初にtmuxのヘルプを表示して、自分が使ってるバージョンで何ができるか?確認しておきます。

 

tmuxを起動させ、キーボードで「Ctrl」と「b」を同時に押した後、「?」を押すと、tmuxの使い方マニュアルが表示されます。

(※「Ctrl」はコントロールキー。キーボードの右下と左下にあるボタン)

 

f:id:jsstudy:20181212211755p:plain

 

tmuxのウィンドウ(画面)を追加(Ctrl+b→c)

キーボードで「Ctrl」と「b」を同時に押した後、「c」を押すと、新しいウィンドウが追加されます。

 

f:id:jsstudy:20181212201012p:plain

 

上記のキャプチャー画像では、追加を2回繰り返して、ウィンドウを2つ追加して、全部で3つになった状態です。

  • 「0:bash」というのが元々あった最初の画面
  • 「1:bash」が追加された1つ目の画面
  • 「2.bash」が追加された2つ目の画面

 

tmuxのウィンドウの移動(Ctrl+b→数字)

「Ctrl」と「b」を同時に押した後、ウィンドウの番号を入力します。

  • Ctrl + b → 0 「0:bash」の画面に切り替わる
  • Ctrl + b → 1 「1:bash」の画面に切り替わる
  • Ctrl + b → 2 「2:bash」の画面に切り替わる

 

この例では、3つのウィンドウが用意されているので、それぞれで別の操作ができます。

 

tmuxのウィンドウを閉じる(Ctrl+b→&)

ウィンドウをたくさん用意したけど不要になった場合は、不要なウィンドウだけ閉じることもできます。

 

閉じたいウィンドウに移動します。

「Ctrl」と「b」を同時に押した後、「&」を押すと確認のメッセージが表示されます。

 

f:id:jsstudy:20181212203101p:plain

画面の下に「kill-window bash? (y/n)」と表示されたら「y」(yes)と入力すればウィンドウが閉じられます。

 

ペインの分割

tmuxは、1つのウィンドウを複数の「ペイン」という表示エリアに分割することもできます。

 

f:id:jsstudy:20181212205112p:plain

 

ウィンドウの垂直分割(左右に分割)

「Ctrl + b」→「%」を入力します。

ウィンドウの水平分割(上下に分割)

「Ctrl + b」→「"」を入力します。

ペイン間の移動

「Ctrl + b」→「o」を入力します。(小文字のオー)

ペイン分割の解除

「Ctrl + b」→「x」を入力します。

 

ペインをよく使うとしたら、左右に分割して見比べる場合とかでしょうか?

→左右に分割する「%」と移動「o」の操作を指に覚えさせておけばOK?

 

その他

tmuxのカスタマイズ

tmuxは設定ファイルを作って、使い方を変更することができます。

「tmux.conf」等というファイルを作業ユーザーのホームディレクトリーの中に作って、それにいろいろな設定項目を書いておけばOKです。 

 

ただし、tmuxのバージョンが古いと、設定しても反映されない項目も出てくるので注意が必要です。

 

プレフィックスキーの変更

tmuxを操作するとき「Ctrl」+「b」のキーを押しますが、この組合せを「プレフィックスキー」と呼びます。

「b」の位置が使いにくいと思う場合は、他のキーに変更することもできます。

 

他にもいろいろカスタマイズできる項目がありました。

 

(参考)

qiita.com

 

qiita.com

 

まとめ

  • Linuxを遠隔操作するとき、端末ソフトのウィンドウを増やしたい場合、「tmux」を使えばOKです。
  • tmuxは設定ファイルを用意すれば、細かく設定変更できます。

 

 

新しいシェルプログラミングの教科書

新しいシェルプログラミングの教科書