序章

Byobu は、tmux(またはscreen)ターミナルマルチプレクサの使いやすいラッパーです。 これは、単一の端末接続内で複数のウィンドウを開いて複数のコマンドを実行するのが簡単になることを意味します。

Byobuの主な機能には、複数のコンソールウィンドウ、各ウィンドウ内の分割ペイン、ホストのステータスを表示する通知とステータスバッジ、および複数の接続にわたる永続的なセッションが含まれます。 これらは多くの異なるオプションと可能性を提供し、邪魔にならないように十分な柔軟性を備えており、物事を成し遂げることができます。

このチュートリアルでは、屏風のインストールと構成の方法、および屏風の最も一般的な機能の使用方法について説明します。

前提条件

このチュートリアルでは、次のものが必要になります。

ステップ1—屏風をインストールする

UbuntuにはデフォルトでByobuがインストールされているはずなので、ここでは、Byobuがインストールされていることを確認してから、設定されている場合はいくつかを構成します。

屏風がインストールされていることを確認するには、このコマンドを実行してバージョンを出力してみてください。

  1. byobu --version
Output
byobu version 5.106 tmux 2.1

現在のバージョン番号が表示されない場合は、sudo apt-get install byobuを使用してByobuを手動でインストールできます。

屏風がインストールされたので、いくつかのオプションを設定できます。

ステップ2—ログイン時に屏風を開始する

屏風はインストール後、デフォルトで無効になっています。 屏風を有効にするには、主に2つの方法があります。使用するたびにbyobuコマンドを使用して手動で開始する方法と、アカウントにログインしたときに自動的に開始するように設定する方法です。

ログインプロファイルに屏風を追加するには、次のコマンドを実行します。 これは、アカウントにログインするたびに、アカウントが起動されることを意味します。

  1. byobu-enable
Output
The Byobu window manager will be launched automatically at each text login.

後で気が変わってログイン時に屏風を無効にしたい場合は、byobu-disableを実行してください。

屏風セッションは複数のログインセッションにわたって維持されるため、屏風セッションを特に閉じない場合は、次にログインしたときに再度ロードされます。 これは、スクリプトを実行したまま、接続間でファイルを問題なく開いたままにできることを意味します。 同じセッションに複数のアクティブなログインを接続することもできます。

Byobuが必要に応じてログイン時に開始するように構成されたら、使用するマルチプレクサをカスタマイズできます。

手順3—バックエンドマルチプレクサの設定

デフォルトでは、Byobuはバックエンドマルチプレクサとしてtmuxを使用します。 ただし、screenを使用する場合は、有効なバックエンドを簡単に変更できます。

  1. byobu-select-backend

これにより、バックエンドマルチプレクサを選択するためのプロンプトが表示されます。 好きな番号を入力して、ENTERを押してください。

Output
Select the byobu backend: 1. tmux 2. screen Choose 1-2 [1]:

このチュートリアルでは、tmuxバックエンドが有効になっていることを前提としていますが、デフォルトのキーバインドはscreenと同じである必要があります。

ステップ4—カラフルなプロンプトを有効にする

屏風には、最後に実行されたコマンドのリターンコードを含むカラフルなプロンプトも含まれています。 一部の環境では、デフォルトで有効になっています。 次のコマンドを実行して、手動で有効にする(またはすでに有効になっていることを確認する)ことができます。

  1. byobu-enable-prompt

この後、シェル構成を再ロードする必要があります。

  1. . ~/.bashrc

屏風のカラフルなプロンプトは次のようになります。

後で気が変わって屏風のカラフルなプロンプトを無効にしたい場合は、byobu-disable-promptを実行できます。

屏風は完全に構成されたので、使い方を見ていきましょう。

ステップ5—セッションの使用

Byobuは、使用可能なすべての機能へのアクセスを提供するデフォルトのキーバインディングにファンクションキー(F1からF12、キーボードの一番上の行)を使用します。 次のいくつかの手順では、セッション、ウィンドウ、およびペインのキーバインドについて説明します。

セッションは、屏風の実行中のインスタンスです。 セッションは、基本的にシェルセッションである windows と、複数のセクションに分割されたウィンドウであるpanesのコレクションで構成されます。

屏風を初めて起動すると、ウィンドウとペインを作成する新しいセッションが開始されます。 以降の接続では、開いているセッションが1つだけの場合、接続時にByobuがそのセッションを自動的に開きます。 複数のセッションを開いている場合、屏風は次のようなプロンプトでどのセッションを使用するかを尋ねます。

屏風マルチセッションプロンプト
Byobu sessions...

  1. tmux: 1: 1 windows (created Wed Aug  3 16:34:26 2016) [80x23]
  2. tmux: 2: 1 windows (created Wed Aug  3 16:34:38 2016) [80x23]
  3. Create a new Byobu session (tmux)
  4. Run a shell without Byobu (/bin/bash)

Choose 1-4 [1]: 

セッションを使用する理由の1つは、各セッションに独自のウィンドウサイズを設定できるためです。これは、画面サイズが異なる複数のデバイス(電話やデスクトップコンピューターなど)に接続する場合に便利です。 セッションを使用するもう1つの理由は、既存のウィンドウを閉じずにワークスペースをクリーンにするためです。

最初に、サーバーにSSHで接続し、前の手順でまだ有効になっていない場合は、Byobuを有効にします。 CTRL+SHIFT+F2を押して新しいセッションを開始し、ALT+UPALT+DOWNを使用して、開いているセッションを前後に移動します。

CTRL+Dを押すと、屏風を終了してすべてのセッションを閉じることができます。 代わりにセッションを切り離したい場合は、これを行うための3つの便利な方法があります。

F6を押すと、現在のセッションが完全に切断され、SSH接続からログアウトされます。 屏風は閉じないので、次にサーバーに接続すると、現在のセッションが復元されます。 これは屏風の最も便利な機能の1つです。 安全に切断している間、コマンドを実行したままドキュメントを開いたままにすることができます。

現在のセッションを切断したいが、サーバーへのSSH接続を維持したい場合は、Shift-F6を使用できます。 これにより、屏風が切り離され(ただし、閉じられなくなります)、サーバーへのアクティブなSSH接続が維持されます。 byobuコマンドを使用すると、いつでも屏風を再起動できます。

次に、複数の場所から屏風にログインするシナリオを考えてみましょう。 これは多くの場合、利用するのに非常に便利な機能ですが、たとえば、接続の1つがウィンドウサイズがはるかに小さい場合(屏風は最小のウィンドウに合わせてサイズを変更するため)、問題が発生する可能性があります。 この場合、ALT+F6を使用できます。これにより、他のすべての接続が切断され、現在の接続がアクティブのままになります。 これにより、屏風で現在の接続のみがアクティブになり、必要に応じてウィンドウのサイズが変更されます。

要点をまとめると:

  • CTRL+SHIFT+F2は新しいセッションを作成します。

  • ALT+UPとALT+DOWN`はセッションをスクロールします。

  • F6は、現在の屏風セッションを切り離します。

  • SHIFT+F6は屏風を切り離し(ただし閉じません)、サーバーへのSSH接続を維持します。 byobuコマンドで屏風に戻ることができます。

  • ALT+F6は、現在の接続を除く屏風へのすべての接続を切断します。

次に、屏風の機能の1つであるウィンドウについて見ていきましょう。

ステップ6—Windowsを使用する

屏風は、1回のセッションで異なるウィンドウを切り替える機能を提供します。 これにより、単一の接続内で簡単にマルチタスクを実行できます。

ウィンドウを操作する方法を示すために、サーバーにSSHで接続し、別のウィンドウでファイルを編集しながらシステムログファイルを監視するシナリオを考えてみましょう。 屏風セッションでは、tailを使用してシステムログファイルを監視します。

  1. sudo tail -n100 -f /var/log/syslog

それが実行されている間に、F2を押して新しいウィンドウを開きます。これにより、新しいコマンドプロンプトが表示されます。 この新しいウィンドウを使用して、editorを使用してホームディレクトリ内の新しいテキストファイルを編集します。

  1. editor ~/random.file

これで、2つのウィンドウが開きます。1つはテーリング/var/log/syslogで、もう1つはエディターセッションです。 F3F4をそれぞれ使用して、ウィンドウを左右にスクロールできます。 これらのウィンドウに名前を付けることもできるので、整理して見つけやすくなります。 現在のウィンドウに名前を追加するには、F8を押してから、わかりやすい名前(「tailsyslog」など)を入力して、ENTERを押します。 各ウィンドウをスクロールして、名前を付けます。 それらを並べ替える場合は、CTRL+SHIFT+F3/F4を使用して、現在のリストをそれぞれ左または右に移動します。

この時点で、syslogにいくつかのログエントリがあるはずです。 画面に表示されなくなった古いメッセージの一部を確認するには、ログウィンドウまでスクロールし、F7を押してスクロールバック履歴を入力します。 Up /DownおよびPageUp/ PageDownを使用して、スクロールバック履歴を移動できます。 終了したら、ENTERを押します。

これで、サーバーから少しの間切断する必要がある場合は、F6を押すことができます。 これにより、SSH接続が明らかに終了し、屏風から切り離されます。 閉じたら、SSHを使用して再接続できます。屏風が戻ってくると、既存の3つのウィンドウがすべて表示されます。

要点をまとめると:

  • F2は、現在のセッション内に新しいウィンドウを作成します。

  • F3およびF4は、ウィンドウリストを左右にスクロールします。

  • CTRL+SHIFT+F3/F4は、ウィンドウリスト内でウィンドウを左右に移動します。

  • F8は、リストで現在開いているウィンドウの名前を変更します。

  • F7を使用すると、現在のウィンドウでスクロールバック履歴を表示できます。

いくつかのオプションを使用して、単一の標準SSH接続では簡単に複製するのが難しい多くの便利なアクションを実行しました。 これが屏風をとても強力にしている理由です。 次に、ペインの使用方法を学習して、この例を拡張しましょう。

ステップ7—ペインを使用する

屏風は、ウィンドウを水平分割と垂直分割の両方で複数のペインに分割する機能を提供します。 これらにより、複数のウィンドウ間ではなく、同じウィンドウ内でマルチタスクを実行できます。

SHIFT+F2を押して現在のウィンドウパネルに水平分割を作成し、CTRL+F2を押して垂直分割を作成します。 フォーカスされたペインは均等に分割されるため、非常に複雑なレイアウトを作成するために必要なだけペインを分割できます。 ペインを2つに分割するのに十分なスペースがない場合、ペインを分割できないことに注意してください。

ウィンドウを少なくとも2つのペインに分割したら、SHIFT+LEFT/RIGHT/UP/DOWNまたはSHIFT+F3/F4を使用してそれらの間を移動します。 これにより、あるペインでコマンドを実行したままにしてから、別のペインに移動して別のコマンドを実行できます。 CTRL+F3/F4を使用してペインを並べ替えることができ、現在のペインをそれぞれ上下に移動します。

SHIFT+ALT+LEFT/RIGHT/UP/DOWNを使用すると、現在選択されているペインの幅と高さを操作できます。 これにより、分割が移動するとウィンドウ内の周囲のパネルのサイズが自動的に変更され、作業中にペインを大きくしたり、フォーカスが移動したときに別のペインを拡大したりするのが簡単になります。

SHIFT+F11を使用してペインを拡大することもできます。これにより、ウィンドウ全体が塗りつぶされます。 SHIFT+F11をもう一度押すと、元のサイズに戻ります。 最後に、ペインを完全に新しいウィンドウに分割する場合は、ALT+F11を使用します。

要点をまとめると:

  • SHIFT+F2は水平ペインを作成します。 CTRL+F2は垂直のものを作成します。

  • SHIFT+LEFT/RIGHT/UP/DOWNまたはSHIFT+F3/F4はペインを切り替えます。

  • CTRL+F3/F4は、現在のペインをそれぞれ上または下に移動します。

  • SHIFT+ALT+LEFT/RIGHT/UP/DOWNは現在のペインのサイズを変更します。

  • SHIFT+F11は、ウィンドウ全体を一時的に埋めるためにペインを切り替えます。

  • ALT+F11は、ペインを独自の新しいウィンドウに永続的に分割します。

手順7の例では、ウィンドウの代わりに分割を使用して、syslogテール、エディターウィンドウ、および新しいコマンドプロンプトをすべて同じウィンドウで開くことができます。 1つのウィンドウを3つのペインに分割すると、次のようになります。

セッション、ウィンドウ、ペインの使用方法がわかったので、屏風のもう1つの機能であるステータス通知について説明します。

ステップ8—ステータス通知の使用

ステータス通知は、屏風画面下部のステータスバーに表示される通知です。 これらは屏風体験をカスタマイズするのに最適な方法です。

F9を押して、屏風設定メニューに入ります。 利用可能なオプションは、ヘルプガイドの表示、ステータス通知の切り替え、エスケープシーケンスの変更、ログイン時の屏風のオンとオフの切り替えです。 ステータス通知の切り替えオプションに移動し、ENTERを押します。 利用可能なすべてのステータス通知のリストが表示されます。 有効または無効にするものを選択できます。

ステータス通知を有効にすると、ウィンドウインジケータの横にある下部のステータスバーに表示されます。 デフォルトでは、日付、ロード、メモリなど、いくつか有効になっています。 一部の通知には、構成ファイルを介して構成できるオプションがあります。これについては、次のチュートリアルで説明します。

選択できる通知はたくさんありますが、一般的に使用される通知のいくつかは次のとおりです。

  • archは、システムアーキテクチャを示しています。 x86_64
  • `バッテリーは現在のバッテリーレベルを示します(ラップトップの場合)。
  • dateは現在のシステム日付を示します。
  • diskは、現在のディスクスペース使用量を示します。
  • hostnameは、現在のシステムホスト名を示します。
  • ip_addressは現在のシステムIPアドレスを表示します。
  • load_averageは、現在のシステム負荷の平均を示します。
  • memoryは、現在のメモリ使用量を示します。
  • networkは、現在のネットワーク使用状況、送信および受信を示します。
  • reboot_requiredは、システムの再起動が必要な場合にインジケーターを表示します。
  • releaseは、現在の配布バージョンを示します(例: 14.04).
  • timeは、現在のシステム時刻を示します。
  • updates_availableは、利用可能な更新がある場合にインジケーターを表示します。
  • uptimeは、現在のシステムの稼働時間を示します。
  • whoamiは、現在ログインしているユーザーを示します。

有効にするステータス通知を選択したら、[適用]を選択します。 ステータスバーを更新するには、F5を押す必要がある場合があります。 必要に応じて、ステータスバーにインジケーターが表示されます。

ステータス通知は、システムで気になる情報を一目で確認できる優れた方法です。

結論

屏風ができることはもっとたくさんあります。 詳細については、屏風のマニュアルページを読むことができますが、さらに便利なキーバインドがいくつかあります。

  • SHIFT+F1は、キーバインディングの完全なリストを表示します。 他のすべてのキーバインドを忘れた場合は、これを覚えておいてください。 qを押して終了します。

  • SHIFT+F12は、キーバインドを有効にするか無効にするかを切り替えます。 これは、キーボードのキーバインドが競合している屏風内の別のターミナルアプリケーションを使用しようとしている場合に便利です。

  • CTRL+F9は、すべてのウィンドウに同じ入力を送信できるプロンプトを開きます。 SHIFT+F9はすべてのペインで同じことを行います。

私たちがカバーした幅広い機能からわかるように、屏風ができることはたくさんあり、それがあなたのワークフローに適合して物事をより簡単にする可能性が高いです。