byobu指令和設定

簡介

byobu是基於screen或tmux的一層操作介面
預設為基於tmux

tmux教學

使用byobu

byobu-enable #登入就開啟byobu
byobu-disable #取消
byobu new -s <session name> # 新建一個byobu 會話
# 如果新建兩個以上,每次進入byobu的時候需要選擇

滑鼠操作

  • 選擇文字 Shift+選擇
  • 複製文字 Shift+右鍵
  • 開/關滑鼠操作 Shift+F12

名詞解釋

用瀏覽器的名詞解釋

  • session → 視窗:不同視窗包含不同分頁
    • window → 分頁
      • split → 分割:同一個分頁的不同終端

cheetsheet

指令表

新建(F2)

指令 說明
F2 新增分頁
Shift-F2 新增水平分割(上下分割)
Ctrl-F2 新增垂直分割(左右分割)
Ctrl-Shift-F2 新增視窗

移動(F3/F4)

移動的前後順序為編號順序

指令 說明
F3/F4, Alt-←/→ 前/後一個分頁
Alt-↑/↓ 前/後一個視窗
Ctrl-F3/F4 交換兩個分割的位置
Ctrl-Shift-F3/F4 移動分頁的位置(編號)
Shift-F3/F4 移動至前/後一個分割
Shift-←/→/↑/↓ 移動至對應方向的分割
Shift-Alt-Left/Right/Up/Down 修改目前的分割大小

設定(F5, F12)

F9即可

指令 說明
F5 重新讀取設定
F9 開啟 byobu 設定頁面
Alt-F12 切換滑鼠支援
Alt-F5 切換 UTF-8 支援
Ctrl-F5 Reconnect ssh/gpg/dbus sockets(註:應該是重新連線的意思)
Shift-F5 切換底部狀態列資訊
Shift-F12 開/關 byobu 指令快捷鍵

取消(F6)

指令 說明
Alt-F6 使連線到相同視窗的 terminal 離開(除了自己)
Ctrl-F6 關閉目前所在的分割
F6 離開 byobu 但不登出(=byobu detach)
Shift-F6 離開 byobu 且登出(註:不知道差別在哪)

記錄(F7)

指令 說明
Alt-PageUp/PageDown 於歷史記錄中翻頁
F7 瀏覽歷史記錄(Command line history)
Shift-F7 儲存歷史記錄於 $BYOBU_RUN_DIR/printscreen

管理(F8)

指令 說明
F8 命名目前分頁
Ctrl-F8 命名目前視窗
Shift-F8 切換分割佈局
Alt-Shift-F8 選擇分割佈局
Ctrl-Shift-F8 儲存目前的分割佈局

同步操作(F9)

指令 說明
Alt-F9 開/關 同時輸入分割
Ctrl-F9 視窗中的所有分頁執行同一指令
Shift-F9 分頁中的所有分割執行同一指令

其他(F11, F12)

指令 說明
Shift-F1 顯示指令列表
Alt-F11 目前分割最大化(占滿整個分頁)
Shift-F11 最大化/還原 目前分割
Ctrl-F11 將目前分割合併至前一個分頁(Join window into a vertical split)
F12 Escape sequence(等同 screen 的Ctrl+a)
Ctrl-Shift-F12 顯示蒙德裡安圖(Mondrian squares)
Ctrl-Shift-F5 隨機切換狀態列的顏色

設定

預設放在~/.byobu/

修改狀態列

~/.byobu/status

預設是長這樣

# Tmux has one status line, with 2 halves for status
tmux_left="#logo distro release #arch #session"
# You can have as many tmux right lines below here, and cycle through them using Shift-F5
tmux_right="network #disk_io #custom #entropy #raid reboot_required #updates_available #apport #services #mail #users uptime #ec2_cost #rcs_cost #fan_speed #cpu_temp #battery #wifi_quality #processes load_average cpu_count cpu_freq memory #swap disk users whoami #hostname ip_address #time_utc #date time"
#tmux_right="network #disk_io #custom entropy raid reboot_required updates_available #apport #services #mail users uptime #ec2_cost #rcs_cost fan_speed cpu_temp battery wifi_quality #processes load_average cpu_count cpu_freq memory #swap #disk whoami hostname ip_address #time_utc date time"
#tmux_right="network #disk_io custom #entropy raid reboot_required updates_available #apport #services #mail users uptime #ec2_cost #rcs_cost #fan_speed #cpu_temp battery wifi_quality #processes load_average cpu_count cpu_freq memory #swap #disk #whoami #hostname ip_address #time_utc date time"
#tmux_right="#network disk_io #custom entropy #raid #reboot_required #updates_available #apport #services #mail #users #uptime #ec2_cost #rcs_cost fan_speed cpu_temp #battery #wifi_quality #processes #load_average #cpu_count #cpu_freq #memory #swap whoami hostname ip_address #time_utc disk date time"

Left

名稱 說明 例子
arch CPU 架構 x86_64
distro 作業系統名稱 Ubuntu
logo 作業系統的 Logo,可設定 u
release 作業系統版本 20.04
session 視窗名字

Right

名稱 說明 例子
apport 尚未讀的 Crash Report
battery 剩餘電量
cpu_count CPU 核心數 16x
cpu_freq CPU 時脈 4.0GHz
cpu_temp CPU 溫度 30C
custom 自訂腳本,需要額外設定
date 日期,可自行設定 2011-11-11
disk_io 即時 IO 讀/寫速度 ◁11KB/s ▷188KB/s
disk 磁碟用量 256G90%
entropy 系統的 Entropy e3363
fan_speed 風扇速度,需要額外設定
hostname 主機名稱
ip_address 系統 ip 位址 111.111.111.111
load_average 前一分鐘 CPU 的平均用量 0.12
mail 新信件 [M]
memory 記憶體用量 32G50%
network 即時網路上傳/下載速度 △11KB/s ▽188KB/s
processes 總程序(Process)數 100&
raid Raid 失敗警告
reboot_required 是否需要重啟
services 監控中的服務,需要額外設定
swap Swap 用量 s32G50%
time_utc UTC 時間 04:00UTC
time 時間 11:11:11
updates_available 是否需要更新軟體 !為一般更新 !!為重要更新
uptime 系統開機時間 12d23h
users 用 ssh 登入的人數 #1
whoami 目前登入帳戶 qwerty
wifi_quality Wifi 訊號強度 [M]

也可以用F9設定

顏色設定

~/.byobu/color
~/.byobu/color.tmux

VSCode設定

避免和預設的快捷鍵重覆

設定 → 終端機

  1. 取消勾選Integrated: Allow Chords
  2. Integrated: Commands To Skip Shell增加下列
    -workbench.action.quickOpen
    -workbench.action.terminal.findNext
    -workbench.action.terminal.findPrevious
    -workbench.action.debug.continue
    -workbench.action.debug.restart
    -workbench.action.debug.run
    -workbench.action.debug.start
    -workbench.action.debug.stop
    -workbench.action.focusNextPart
    -workbench.action.focusPreviousPart
    -workbench.action.debug.pause
    -workbench.action.quickOpen
    -workbench.action.terminal.focusFind

參考資料

  • byobu
  • byobu_cheatsheet
  • Byobu vs. GNU Screen vs. tmux — usefulness and transferability of skills
  • byobu-cheat-sheet
  • 官方文件
  • Entropy說明
  • VS codeのターミナルでbyobuを使う