byobu を使ってみる
最近ubuntuのマシンをいじっていて気付いたのですが、byobuという便利なものが搭載されているのですね。screen or tmuxのフロントエンドとして動作するものですが、ちょっと使ってみてこりゃ便利と感動した次第です。呪文のような設定を書かなくても[F9]キーからある程度カスタマイズできるってとこがいいですね。ってか、これ知ってたらわざわざtmux.confの設定いじる日記なんて書かなかったよ、、、。
で、ちょっと触ってみてなぜか私の環境ではエスケープの設定変更に詰まったのでメモ。
さっき書いた通りbyobu起動中に[F9]押せばエスケープシーケンスの変更やステータスバーの表示項目の変更ができるのですが、byobuのバックエンドにtmuxを使っている状態(たぶんデフォルト?)でエスケープシーケンスの変更をしても反映されませんでした。私はターミナル使用中に[Ctrl-A]を多用するのですが、byobuのエスケープシーケンスがデフォルトで[Ctrl-A]なので使いづらい。
設定ファイルを直接修正して変更しました。
~/.byobu/keybindings.tmux
↓
どうも間違ったこと書いてたようなので修正。
~/.byobu/keybindings.tmux というファイルでbyobuのバックエンドで動作するtmuxのキーバインドの設定をするようですが、ファイルを空にしてbyobuを立ち上げなおすと、初回にtmuxのエスケープ文字([Ctrl-A])を入力したタイミングで、どうするかを聞いてきてくれます。↓こんな感じ。
で、ちょっと触ってみてなぜか私の環境ではエスケープの設定変更に詰まったのでメモ。
さっき書いた通りbyobu起動中に[F9]押せばエスケープシーケンスの変更やステータスバーの表示項目の変更ができるのですが、byobuのバックエンドにtmuxを使っている状態(たぶんデフォルト?)でエスケープシーケンスの変更をしても反映されませんでした。私はターミナル使用中に[Ctrl-A]を多用するのですが、byobuのエスケープシーケンスがデフォルトで[Ctrl-A]なので使いづらい。
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-aCtrl-A によるエスケープを解除して F12 キーに割当てるようですね。というわけで、意図しない動作をする場合は一旦ファイル空にすればbyobuがうまいことやってくれるみたいですよというお話でした。