byobu を使ってみる

最近ubuntuのマシンをいじっていて気付いたのですが、byobuという便利なものが搭載されているのですね。screen or tmuxのフロントエンドとして動作するものですが、ちょっと使ってみてこりゃ便利と感動した次第です。呪文のような設定を書かなくても[F9]キーからある程度カスタマイズできるってとこがいいですね。ってか、これ知ってたらわざわざtmux.confの設定いじる日記なんて書かなかったよ、、、。

で、ちょっと触ってみてなぜか私の環境ではエスケープの設定変更に詰まったのでメモ。

さっき書いた通りbyobu起動中に[F9]押せばエスケープシーケンスの変更やステータスバーの表示項目の変更ができるのですが、byobuのバックエンドにtmuxを使っている状態(たぶんデフォルト?)でエスケープシーケンスの変更をしても反映されませんでした。私はターミナル使用中に[Ctrl-A]を多用するのですが、byobuのエスケープシーケンスがデフォルトで[Ctrl-A]なので使いづらい。
設定ファイルを直接修正して変更しました。

~/.byobu/keybindings.tmux
unbind-key -n C-a
set -g prefix ^a
set -g prefix2 ^a
bind a send-prefix
 ↓
unbind-key -n C-a
set -g prefix C-b
set -g prefix2 C-b
bind a send-prefix

どうも間違ったこと書いてたようなので修正。

~/.byobu/keybindings.tmux というファイルでbyobuのバックエンドで動作するtmuxのキーバインドの設定をするようですが、ファイルを空にしてbyobuを立ち上げなおすと、初回にtmuxのエスケープ文字([Ctrl-A])を入力したタイミングで、どうするかを聞いてきてくれます。↓こんな感じ。
Configure Byobu's ctrl-a behavior...

When you press ctrl-a in Byobu, do you want it to operate in:
    (1) Screen mode (GNU Screen's default escape sequence)
    (2) Emacs mode  (go to beginning of line)

Note that:
  - F12 also operates as an escape in Byobu
  - You can press F9 and choose your escape character
  - You can run 'byobu-ctrl-a' at any time to change your selection

Select [1 or 2]: 
ここで2を入力すればターミナル上で[Ctrl-A]で行頭にいくようになります。ちなみにkeybinding.tmuxにはこんな設定が書き込まれます。
set -g prefix F12
unbind-key -n C-a
Ctrl-A によるエスケープを解除して F12 キーに割当てるようですね。というわけで、意図しない動作をする場合は一旦ファイル空にすればbyobuがうまいことやってくれるみたいですよというお話でした。

このブログの人気の投稿

zsh 設定 - プロンプト -

運転免許失効〜再取得までの奮闘記 - 期限切れ -

運転免許失効〜再取得までの奮闘記 - 路上練習 -