このブログはURLが変更になりました

新しいブログはこちら→ https://matsuu.hatenablog.com/

最近のbyobuの動向について

これはターミナルマルチプレクサAdvent Calendar20日目です。19日目はid:masudaKさんのtmuxでウィンドウ移動(Like Vim Keybindings)でした。

tmux(screen-profiles)の始まり

https://launchpadlibrarian.net/39290721/byobu_64.png

さて、みなさんはbyobuというアプリケーションをご存知でしょうか。
byobuは当初screen-profilesという名で、GNU Screenを使いやすくするための設定集という位置づけでした。
詳しくはUbuntu Weekly Recipe 第72回 screen-profiles("byobu")を使うにて紹介されています。

byobuはscreenのフロントエンドに

開発は続き、byobuはGNU Screenの設定集から飛躍してbyobuコマンドによるフロントエンドとなりました。
byobuコマンド経由でGNU Screenを起動するとステータス表示などが標準装備されており、面倒な設定の手間をかけることなくある程度整った環境を手に入れることができました。
また、独自のメニュー機構を用意しており、.screenrcファイルを編集することなく設定のカスタマイズが容易になりました。
詳しくはscreenからbyobuへ移行しようとしてわかったことと、一旦保留した理由にて紹介されています。

そして何でもありの世界へ

さて、現在ですが、byobuはGNU Screenだけでなく、tmuxもサポートするようになりました。byobu-tmuxコマンドを実行することでbyobuがtmuxのラッパーとして動作するようになります。
これによって、screen/tmuxのどちらでもbyobuで統一された画面デザインや設定画面を手に入れることが出来るようになったわけです*1

スクリーンショット


上側はscreenベースのbyobu(byobu-screen)、下側はtmuxベースのbyobu(byobu-tmux)です。どちらもデフォルトはCtrl-aがエスケープキーに設定されています。


byobu上でF9を押した際に表示されるメニューです。ヘルプやステータスバーの設定、エスケープキーの変更などが行えます。


ステータスバーの設定です。このようにチェックを入れるだけでステータスバーの表示項目を切り替えることができます。

もうbyobuを使えばいいんじゃね?

と言いたいところですが、そうとも限りません。

byobuはpython依存

まずbyobuはPythonで実装されているため、Python実行環境が必要です。まぁ最近はPythonがインストールされていない環境なんてほとんどないと思いますが。

既にscreen/tmuxをカスタマイズしているユーザには使いにくい

screenからbyobuへ移行しようとしてわかったことと、一旦保留した理由でも紹介されているとおり、既にscreenやtmuxでカリカリにチューニングしていた場合は逆にウザったく感じるかもしれません。

一応既存のscreenやtmuxの設定と共存できることになっていますが、ウィンドウの装飾などはbyobuの設定が優先されてしまいます。

パッケージが用意されているかな?

その他、各ディストリビューションでパッケージが用意されていないかもしれません。ちなみに、byobuはUbuntu発のプロジェクトですのでUbuntuにはパッケージが用意されています。

byobuを使うといいかもしれない人

ということで、byobuがオススメな人は次のような人だと思います。

  • screenやtmuxで最初何をしていいのかわからず挫折した
  • screenやtmuxの設定にさほど手を加えてない
  • screenやtmuxの設定カスタマイズは面倒だ
  • python依存に抵抗はない

screen/tmuxを試したことがない方はbyobuも試してみてはいかがでしょうか?ま、私は使いませんがね。

*1:ただし、screen/tmuxのどちらを採用するかでコマンド体系やウィンドウ制御などは異なります。