byobu を久々に使ってたので使い方メモとか
◆ CUI 画面でタブや画面分割ができるツール
◆ 一度切断しても途中から続けられるし 複数の PC から同時に使っても大丈夫
◆ 一度切断しても途中から続けられるし 複数の PC から同時に使っても大丈夫
必要なときだけ使ってるのでよくよく忘れてるんですよね
常に使えばいいかもしれないけど 不便な部分もあるので必要なときだけにしてます
GUI で Linux 使ってるとターミナルのウィンドウを複数開いたりウィンドウの中にタブを作れたりします

サーバ用の CUI のみでもそういうことしたいなっていうときに使えるツールです
タブだけじゃなく画面内で分割することもできます

下のバーの 「0:root@localhost:~」と「1:for dnf」がそれぞれタブです
0 のほうがアクティブになっています
単純にタブ分割する以外にもメリットはあります
CUI で使うものって基本は ssh 接続で別のサーバにアクセスしていることが多いと思います
作業中に接続が切れたり 間違って閉じてしまったら中途半端な部分で強制終了されたり 画面上のログが消えてしまったりと困ることがあります
byobu だとセッションというものでターミナルの作業中の状態を管理してくれています
途中で ssh クライアントのウィンドウを閉じたりしても再度ログインして byobu コマンドを実行すれば作業中の状態を復元してくれます
ミス防止だけでなく デスクトップ PC で接続して作業していたけど 出かけるから続きをノート PC からやりたいなってときにも使えます
そのサーバへの接続元は関係なく そのサーバ内で管理されているのでノート PC から接続して byobu コマンドを実行したら続きから実行できます
同時に複数の接続で byobu コマンドを使った場合は動きが同期されるので 同時に接続しても大丈夫です

byobu は tmux と screen という 2 つのツールに対応しています
これらの複雑な設定なしで簡単に使えるようにしてくれているのが byobu というツールです
私は byobu しかつかったことがなくて直接 tmux や screen は使ったことないです
最初にバックエンドで tmux か screen のどっちを使うか指定します
tmux のほうが新しくて高機能らしいので私はこっちしか使ってません
あとは byobu コマンドを実行するだけです
F3 と F4 でタブ切り替えです
違いは戻ると進むです
ところでタブとよんでますがちゃんとした呼び方だと Window のようです
見た目がタブなのでタブと言ったほうが伝わりやすいのでここではタブで通します
Ctrl-F2 だと左右に分割します
Shift-F3 と Shift-F4 で分割した画面のフォーカスを切り替えます
こっちも違いは戻ると進むです
Ctrl-F3 と Ctrl-F4 では分割した画面を並び替えることが出来ます
基本的なタブと画面分割の操作はこれだけです
高度なことしないならこれだけで全然困りません
F1 でヘルプが開けて 一番上にヘルプがあるのでそこで他の操作一覧が見れます
使いこなしたいなら読んでみると良いのではないでしょうか
今左右に分割しているけど上下分割にしたいなと思ったときに一発で切り替えられません
対して重要じゃないなら いったん片方を exit して再分割するのですが アップデート中だったりコンパイル中だったり 両方止められない状態だと困ります
諦めていたのですが使っているうちに出来る方法を見つけました
ちょっと手間ですけど
左右に分割している状態があります

これを上下分割に変更するのが目的です
まずはどちらかを上下に分割します

ここでは右側を上下に分割しました
ここで追加されたものは一時的なもので後で消します
Ctrl-F3 で左側に追加した画面が来るように移動します

この状態で追加した画面を閉じれば最初の 2 つが上下分割になります

ショートカットキーひとつでできたらいいのですけどね
自分でセッションを指定して作ることも出来て 複数のセッションがあると byobu コマンドを実行したときに選択画面になります
セッションリストを表示するときは
を実行します
byobu へのオプションはバックエンドにそのまま流されるらしく tmux か screen どちらを使ってるかで変わります
このコマンドは tmux 用で screen だと別のコマンドになるはずです
私もあまりわかってない部分なのですが F6 と Shift-F6 でセッションをデタッチできます
簡単に言うと byobu の終了です
全部のタブと分割した画面で exit すれば終われるのですが 続きから実行したいなら F6 にする必要があります
違いは F6 がログアウトもして Shift-F6 はログアウトしない とヘルプには書かれていました
これを見る限りでは F6 だと byobu を終了してログアウトもするからセッションを続きから実行できなくて Shift-F6 では続きから実行出来るように思います
ですが F6 でデタッチしてもセッションを復元できるときもありました
試した限りだと タブや画面分割があるときはいつも復元できていて タブも分割もしてないときはたまに復元できてない みたいな動きです
理由はわからないのですが 復元したいなら念の為 Shift-F6 を使ったほうがいいんじゃないかなと思います
それにところどころコマンドの色がおかしいです

b まで打っていて 残りは補完候補のように見えますが byobu まで入力しています
なのでこういう事も起きます

ググってみると .byobu/profile.tmux に
デフォルトは Ctrl-A になっています
私はエディタに micro を使っているのですがこのショートカットキーが相性悪いです
micro は Windows のエディタと同じ操作感で操作できるエディタで Ctrl-A は全選択です
これが使えなくなるのが困りどころです
一応エスケープシーケンスのキーは変更可能になっています
ですが こういったツール内のショートカットキーとの競合が全く起きないキーを探すのは難しいです
使わなそうなキーに割り当ててみても 別のツールで被っていたりで 何かが使いづらくなっています
いっそ無効にしたかったのですが Shift-F12 でキーバインディングの有効無効を切り替えても エスケープシーケンスは有効のままでした
画面分割が起きると 上スクロールで履歴を見ることができなくなります
仕組み上仕方ない気もしますが 普段はマウス操作がメインなのでけっこう辛いです
また 左右分割の場合はコピペにも影響します
マウスで選択すると分割を無視して 1 行が選択されます
右側だけをコピーしたいのに左側まで入ってきます
一応 byobu 側の機能で画面内スクロールや選択コピー機能はあります
ただ マウス操作に比べると手間が多いです

選択モードでは 右上に行数が出てきます
選択モード中は カーソルを現在のコマンドを入力する行だけでなく 上下左右キーで好きに画面内を移動できます
スペースキーで選択開始ができて 上下左右キーで移動後にエンターキーで確定できます
これでコピーされたのですが あくまで byobu の中でのコピーです
Windows から Linux サーバにつないでいるとして このコピーをしても Ctrl-V で別のソフトに貼り付けれるようにはなりません
貼り付けができるのは byobu 内なのでエディタを開いていったんそこに貼り付けて それを普段どおりコピペする必要があります
エディタじゃなくても cat にヒアドキュメントを書くなどでも 画面に表示できればいいです
表示させるときは画面分割なしの別タブで行います
そうしないとスクロールで上のほうが見えなかったり 左右分割でいらない部分がコピーされたりして一度コピーした意味がないですから
byobu 内のコピーしたものを貼り付けするには 「エスケープシーケンス+]」 です (同時押しじゃなくてエスケープシーケンスのあとに ] を押す)
選択モードについてですが 開始は F7 キー以外にも Alt-PgUp と Alt-PgDown でも可能です
選択モード中は Alt なしで PgUp と PgDown でページ単位でスクロールできます
選択モードの終了は q キーです
まあ Ctrl-F4 は byobu の機能を使うためなので byobu を使っていないと押し間違いもないですけど
ところで急に SecureShell で q キーが入力できなくなって CapsLock 押した扱いになってます
逆に CapsLock だと反応なしです
リロードしても効果ないし SecureShell の不具合でしょうか
less から抜けれないんですけど
と思ってたら SecureShell どころかじゃなくて Chrome 全体やサクラエディタなど OS 全体みたい
IME 切り替えても効果なしで VirtualBox 上だとちゃんと動いてる
なんなんだろうこれ
常に使えばいいかもしれないけど 不便な部分もあるので必要なときだけにしてます
byobu って
Linux のコマンドラインをタブっぽく使えるようにしてくれるツールですGUI で Linux 使ってるとターミナルのウィンドウを複数開いたりウィンドウの中にタブを作れたりします

サーバ用の CUI のみでもそういうことしたいなっていうときに使えるツールです
タブだけじゃなく画面内で分割することもできます

下のバーの 「0:root@localhost:~」と「1:for dnf」がそれぞれタブです
0 のほうがアクティブになっています
単純にタブ分割する以外にもメリットはあります
CUI で使うものって基本は ssh 接続で別のサーバにアクセスしていることが多いと思います
作業中に接続が切れたり 間違って閉じてしまったら中途半端な部分で強制終了されたり 画面上のログが消えてしまったりと困ることがあります
byobu だとセッションというものでターミナルの作業中の状態を管理してくれています
途中で ssh クライアントのウィンドウを閉じたりしても再度ログインして byobu コマンドを実行すれば作業中の状態を復元してくれます
ミス防止だけでなく デスクトップ PC で接続して作業していたけど 出かけるから続きをノート PC からやりたいなってときにも使えます
そのサーバへの接続元は関係なく そのサーバ内で管理されているのでノート PC から接続して byobu コマンドを実行したら続きから実行できます
同時に複数の接続で byobu コマンドを使った場合は動きが同期されるので 同時に接続しても大丈夫です

tmux と screen
こういった機能は byobu が実装しているというわけではなく tmux などすでにあるツールを内部で使っていますbyobu は tmux と screen という 2 つのツールに対応しています
これらの複雑な設定なしで簡単に使えるようにしてくれているのが byobu というツールです
私は byobu しかつかったことがなくて直接 tmux や screen は使ったことないです
基本の使い方
fedora なら dnf でインストールできますsudo dnf install byobu
最初にバックエンドで tmux か screen のどっちを使うか指定します
byobu-select-backend tmux
tmux のほうが新しくて高機能らしいので私はこっちしか使ってません
あとは byobu コマンドを実行するだけです
byobu
タブ
F2 で新規タブを作りますF3 と F4 でタブ切り替えです
違いは戻ると進むです
ところでタブとよんでますがちゃんとした呼び方だと Window のようです
見た目がタブなのでタブと言ったほうが伝わりやすいのでここではタブで通します
画面分割
Shift-F2 で現在アクティブな画面を上下に分割しますCtrl-F2 だと左右に分割します
Shift-F3 と Shift-F4 で分割した画面のフォーカスを切り替えます
こっちも違いは戻ると進むです
Ctrl-F3 と Ctrl-F4 では分割した画面を並び替えることが出来ます
基本的なタブと画面分割の操作はこれだけです
高度なことしないならこれだけで全然困りません
F1 でヘルプが開けて 一番上にヘルプがあるのでそこで他の操作一覧が見れます
使いこなしたいなら読んでみると良いのではないでしょうか
縦横切替
できてほしいのにできない機能が縦分割と横分割の切り替えです今左右に分割しているけど上下分割にしたいなと思ったときに一発で切り替えられません
対して重要じゃないなら いったん片方を exit して再分割するのですが アップデート中だったりコンパイル中だったり 両方止められない状態だと困ります
諦めていたのですが使っているうちに出来る方法を見つけました
ちょっと手間ですけど
左右に分割している状態があります

これを上下分割に変更するのが目的です
まずはどちらかを上下に分割します

ここでは右側を上下に分割しました
ここで追加されたものは一時的なもので後で消します
Ctrl-F3 で左側に追加した画面が来るように移動します

この状態で追加した画面を閉じれば最初の 2 つが上下分割になります

ショートカットキーひとつでできたらいいのですけどね
セッション
byobu コマンドだけ打つと自動でセッションがあればそれを開いて なければ作ってくれるようです自分でセッションを指定して作ることも出来て 複数のセッションがあると byobu コマンドを実行したときに選択画面になります
セッションリストを表示するときは
byobu list-session
を実行します
byobu へのオプションはバックエンドにそのまま流されるらしく tmux か screen どちらを使ってるかで変わります
このコマンドは tmux 用で screen だと別のコマンドになるはずです
私もあまりわかってない部分なのですが F6 と Shift-F6 でセッションをデタッチできます
簡単に言うと byobu の終了です
全部のタブと分割した画面で exit すれば終われるのですが 続きから実行したいなら F6 にする必要があります
違いは F6 がログアウトもして Shift-F6 はログアウトしない とヘルプには書かれていました
これを見る限りでは F6 だと byobu を終了してログアウトもするからセッションを続きから実行できなくて Shift-F6 では続きから実行出来るように思います
ですが F6 でデタッチしてもセッションを復元できるときもありました
試した限りだと タブや画面分割があるときはいつも復元できていて タブも分割もしてないときはたまに復元できてない みたいな動きです
理由はわからないのですが 復元したいなら念の為 Shift-F6 を使ったほうがいいんじゃないかなと思います
悪いところ
一見便利でずっと使っていればいいように思うのですが 良くない部分もあって必要なときだけにしています色
byobu を使ってるときと使っていないときで ls のフォルダなどで微妙に色が違いますそれにところどころコマンドの色がおかしいです

b まで打っていて 残りは補完候補のように見えますが byobu まで入力しています
なのでこういう事も起きます

ググってみると .byobu/profile.tmux に
set -g default-terminal "screen-256color"
を指定すれば良いとあったので試してみましたが変わらずでしたエスケープシーケンス
byobu 内にエスケープシーケンスというものがあって そのキーを押した後に特定のキーを押すことで特別な操作ができますデフォルトは Ctrl-A になっています
私はエディタに micro を使っているのですがこのショートカットキーが相性悪いです
micro は Windows のエディタと同じ操作感で操作できるエディタで Ctrl-A は全選択です
これが使えなくなるのが困りどころです
一応エスケープシーケンスのキーは変更可能になっています
ですが こういったツール内のショートカットキーとの競合が全く起きないキーを探すのは難しいです
使わなそうなキーに割り当ててみても 別のツールで被っていたりで 何かが使いづらくなっています
いっそ無効にしたかったのですが Shift-F12 でキーバインディングの有効無効を切り替えても エスケープシーケンスは有効のままでした
画面分割がマウス操作と相性が悪い
画面が 1 つだけなら何の問題もないのですが 画面分割が起きるとマウス操作との相性が悪くなります画面分割が起きると 上スクロールで履歴を見ることができなくなります
仕組み上仕方ない気もしますが 普段はマウス操作がメインなのでけっこう辛いです
また 左右分割の場合はコピペにも影響します
マウスで選択すると分割を無視して 1 行が選択されます
右側だけをコピーしたいのに左側まで入ってきます
一応 byobu 側の機能で画面内スクロールや選択コピー機能はあります
ただ マウス操作に比べると手間が多いです
コピペ
F7 キーを押すと選択モードになります
選択モードでは 右上に行数が出てきます
選択モード中は カーソルを現在のコマンドを入力する行だけでなく 上下左右キーで好きに画面内を移動できます
スペースキーで選択開始ができて 上下左右キーで移動後にエンターキーで確定できます
これでコピーされたのですが あくまで byobu の中でのコピーです
Windows から Linux サーバにつないでいるとして このコピーをしても Ctrl-V で別のソフトに貼り付けれるようにはなりません
貼り付けができるのは byobu 内なのでエディタを開いていったんそこに貼り付けて それを普段どおりコピペする必要があります
エディタじゃなくても cat にヒアドキュメントを書くなどでも 画面に表示できればいいです
表示させるときは画面分割なしの別タブで行います
そうしないとスクロールで上のほうが見えなかったり 左右分割でいらない部分がコピーされたりして一度コピーした意味がないですから
byobu 内のコピーしたものを貼り付けするには 「エスケープシーケンス+]」 です (同時押しじゃなくてエスケープシーケンスのあとに ] を押す)
選択モードについてですが 開始は F7 キー以外にも Alt-PgUp と Alt-PgDown でも可能です
選択モード中は Alt なしで PgUp と PgDown でページ単位でスクロールできます
選択モードの終了は q キーです
SecureShell で接続してると使いたくなる
msys から接続しているときは全然気にならなかったのですが Chrome アプリの SecureShell で接続してると つい Ctrl-W や Ctrl-F4 でタブを閉じてしまったり 入力が正しくできなくなって開き直したいということがあって 続きから実行できる byobu の便利さを感じていますまあ Ctrl-F4 は byobu の機能を使うためなので byobu を使っていないと押し間違いもないですけど
ところで急に SecureShell で q キーが入力できなくなって CapsLock 押した扱いになってます
逆に CapsLock だと反応なしです
リロードしても効果ないし SecureShell の不具合でしょうか
less から抜けれないんですけど
と思ってたら SecureShell どころかじゃなくて Chrome 全体やサクラエディタなど OS 全体みたい
IME 切り替えても効果なしで VirtualBox 上だとちゃんと動いてる
なんなんだろうこれ