Bash on Ubuntu on Windowsにtmuxがやってきた
公式サイトに、tmuxのサポートが紹介されています。Windows 10 build 14361では、WSLで擬似端末(PTY/TTY)がサポートされました。
VTコントロールシーケンスの描画サポートが行われ、tmuxが動作するようになりました。
tmuxは端末のマルチプレクサ―であり、1つのウィンドウで複数の端末環境を利用することができます。
それぞれの端末環境で独立してコマンドを実行することができます。
ユーザーの入力は、現在アクティブなペインに対して行われます。
ユーザーは操作を行いたいペインを切り替えて、コマンドの入力等の操作を行います。
今までは複数の端末を実行する際、各端末ごとに異なるウィンドウを表示していました。
tmuxを利用することで1つのウィンドウで複数の端末環境を実行できるため、大量のウィンドウを開くことなしに並行して端末環境が利用できます。
tmuxは擬似端末の仕組みである「Pseudo Terminals(PTY)」を利用して動作しており、動作しているシェルに接続することができ、端末の動作を仮想化します。
物理的な端末であるTTYは任意のPTYに接続することができ、tmuxはそれぞれのPTYごとにペインを表示することができます。
つまり
つまり、マルチペインの端末だと思えば良いです。tmuxを使ってみよう
tmuxを使ってみます。使い方はUbuntuと同じです。
1.tmuxのインストール
以下のコマンドを実行し、tmuxをインストールします。
sudo apt install tmux
2.tmuxの起動
以下のコマンドを実行し、tmuxを起動します。
tmux
以下のように、tmuxが起動します。
tmux起動直後は、シングルペインになっています。
補足
ウィンドウサイズが小さいと、描画が崩れることがあります。初めてtmuxを使う時は、ウィンドウを最大化して使ってみてください。
3.ペインを横に分割
ペインを横に分割してみます。「Ctrl + B」キーを押した後に、「Shift + 5」キーを押してください。
以下のようにペインが2つに分割され、右側のペインがアクティブなペインになっています。
アクティブなペインには、カーソル(_)が表示されます。
ユーザーの入力は、このアクティブなペインに対して行われます。
4.ペインを縦に分割
今度はペインを縦に分割してみます。「Ctrl + B」キーを押した後に、「Shift + 2」キーを押してください。
以下のように現在アクティブな右側のペインが縦に2つに分割され、右下のペインがアクティブなペインになっています。
5.ペインを切り替える
現在アクティブなペインは右下のペインですが、左側のペインをアクティブなペインにしてみます。「Ctrl + B」キーを押した後に、「←」キーを押してください。
以下のように、左側のペインがアクティブなペインになりました。
ペインの切り替え方法
ペインの切り替えは、「Ctrl + B」キーを押してからカーソルキーを押します。6.nanoを起動してみる。
現在アクティブになっている左側のペインで以下のコマンドを実行し、「nano」を起動してみます。
nano
以下のように、左側のペインで「nano」が起動します。
7.htopを起動してみる
次に右上のペインで「htop」を起動してみます。「Ctrl + B」キーを押した後に「→」キーを押し、アクティブなペインを右上のペインに切り替えます。
アクティブなペインを切り替えたら、以下のコマンドを実行します。
htop
以下のように「htop」が起動し、プロセスの一覧が表示されます。
8.lsを実行してみる
次に右下のペインで「ls」を実行してみます。「Ctrl + B」キーを押した後に「↓」キーを押し、アクティブなペインを右下のペインに切り替えます。
アクティブなペインを切り替えたら、以下のコマンドを実行します。
ls
以下のようにファイルの一覧が表示されます。
9.さらにペインを分割
左側のペインを2つに分割してみます。「Ctrl + B」キーを押した後に「←」キーを押し、アクティブなペインを左側のペインに切り替えます。
アクティブなペインを切り替えたら、「Ctrl + B」キーを押した後に「Shift + 2」キーを押します。
以下のように、左側のペインが縦に2つに分割されます。
10.牛を呼んで見る
牛を呼んでみます。以下のコマンドを実行します。
apt-get moo
以下のように牛が表示されます。