Byobu
Enhanced wrapper for tmux/screen with pre-configured keybindings and status bar.
Official WebsiteFeatures
Installation
brew install byobuapt install byobudnf install byobuWhy Use Byobu?
Byobu is a terminal multiplexer that acts as a front-end for tmux or screen. It features intuitive function key operation and convenient default settings ready to use out of the box. It's included in Ubuntu's standard repository, making installation easy.
Ready-to-Use Configuration
Convenient keybindings, beautiful status bar, and system monitoring enabled by default. Comfortable to use without writing config files.
Function Key Operation
Easy to remember function keys: F2 for new window, F3/F4 for window switching. No need for prefix keys.
System Monitoring
Real-time system info display in status bar: CPU, memory, disk, network. Convenient for server monitoring.
Works with tmux/screen
Choose tmux or screen as backend. Same operation feel in either environment.
Basic Usage
Function Key Operation
Byobu's biggest feature is intuitive function key operation. No need to memorize prefix keys like tmux or screen.
Note: Function keys may be captured by the terminal application. In that case, try Shift + Function key or use the Ctrl + a prefix.
Starting and Exiting Byobu
# Start byobu
byobu
# Start with a session name
byobu -S mysession
# Exit byobu (close all windows)
# Press F6 (detach)
# or exit each window individually
# Start with tmux backend (default)
byobu-tmux
# Start with screen backend
byobu-screenSelecting Backend
# Set backend to tmux
byobu-select-backend tmux
# Set backend to screen
byobu-select-backend screen
# Check current backend
byobu-select-backendSession Management
Creating, Listing, and Switching Sessions
# Create a new session
byobu new -s project1
# List sessions
byobu list-sessions
# or
byobu ls
# Attach to an existing session
byobu attach -t project1
# or
byobu a -t project1
# Create if not exists, otherwise attach
byobu new -A -s mysession
# Kill a session
byobu kill-session -t project1
# Display session list inside byobu
# Ctrl + a, s (tmux backend)
# or Ctrl + a, " (screen backend)Auto-start on Login
# Auto-start byobu on login
byobu-enable
# Disable auto-start
byobu-disable
# Display byobu status in prompt
byobu-enable-prompt
# Disable prompt display
byobu-disable-promptWindow and Pane Operations
Window Operations (Function Keys)
# Create a new window
# F2
# Move to previous window
# F3
# Move to next window
# F4
# Detach from session
# F6
# Display window list and scroll
# F7
# Rename window
# F8
# Open Byobu settings menu
# F9
# Close window
# Ctrl + F6Pane Operations (Screen Splitting)
# Horizontal split (top/bottom)
# Shift + F2
# Vertical split (left/right)
# Ctrl + F2
# Move between panes
# Shift + arrow keys
# or Shift + F3/F4
# Resize pane
# Shift + Alt + arrow keys
# Close current pane
# Ctrl + F6
# Rearrange panes
# Ctrl + F5
# Zoom (toggle fullscreen for pane)
# Shift + F11Operations with Ctrl+a Prefix
# Use Ctrl+a prefix if function keys don't work
# Create a new window
# Ctrl + a, c
# Move to next window
# Ctrl + a, n
# Move to previous window
# Ctrl + a, p
# Horizontal split
# Ctrl + a, %
# Vertical split
# Ctrl + a, |
# Move between panes
# Ctrl + a, arrow keys
# Detach
# Ctrl + a, dKey Bindings Reference
Byobu is operated intuitively with function keys. If function keys don't work, Ctrl + a prefix is also available.
| Category | Key | Description |
|---|---|---|
| Window | F2 | Create new window |
F3 | Previous window | |
F4 | Next window | |
F8 | Rename window | |
Ctrl + F6 | Close window/pane | |
| Pane | Shift + F2 | Horizontal split |
Ctrl + F2 | Vertical split | |
Shift + F3/F4 | Move between panes | |
Shift + Alt + arrow | Resize pane | |
Shift + F11 | Pane zoom | |
| Session | F6 | Detach |
Shift + F6 | Detach and logout | |
| Scroll | F7 | Scroll mode |
Alt + PageUp/Down | Page scroll | |
| Settings | F9 | Settings menu |
Ctrl + F5 | Reload status line | |
| Other | F1 | Display help |
F12 | GNU Screen compatibility mode |
Status Bar Customization
Status Display Settings
Byobu's status bar can display system information, time, and more. Open the settings menu with F9 key or configure from the command line.
# Open status display settings menu
byobu-config
# Or press F9 key to access settings menu
# Available status items:
# - arch: Architecture
# - battery: Battery status
# - cpu_count: CPU count
# - cpu_freq: CPU frequency
# - cpu_temp: CPU temperature
# - date: Date
# - disk: Disk usage
# - hostname: Host name
# - ip_address: IP address
# - load_average: Load average
# - memory: Memory usage
# - network: Network status
# - time: Time
# - uptime: Uptime
# - users: Logged-in usersEnable/Disable Status Items
# Enable specific status items
byobu-enable-prompt
byobu-enable
# Toggle status display
# Select "Toggle status notifications" from F9 menu
# Change status bar position (top/bottom)
# Select "Change status bar position" from F9 menu
# Change status line background color
byobu-select-backgroundConfiguration Files
Configuration Directory
Byobu configuration is stored in ~/.byobu/ directory. Write additional tmux settings in .tmux.conf.
~/.byobu/
├── .tmux.conf # Custom settings for tmux
├── .screenrc # Custom settings for screen
├── backend # Backend to use (tmux/screen)
├── color # Color configuration
├── color.tmux # Color settings for tmux
├── datetime.tmux # Date/time format
├── keybindings # Keybindings configuration
├── keybindings.tmux # Tmux keybindings
├── profile # Profile configuration
├── profile.tmux # Tmux profile
├── status # Status bar configuration
└── statusrc # Enable/disable status itemsCustom Configuration for tmux
# Enable mouse support
set -g mouse on
# Use Vim keybindings in copy mode
setw -g mode-keys vi
# Remove escape key delay
set -sg escape-time 0
# History size
set -g history-limit 50000
# 256 color support
set -g default-terminal "screen-256color"
# Vim-style pane navigation (additional config)
bind h select-pane -L
bind j select-pane -D
bind k select-pane -U
bind l select-pane -R
# Use intuitive keys for pane splitting
bind | split-window -h -c "#{pane_current_path}"
bind - split-window -v -c "#{pane_current_path}"
# Preserve current directory in new windows
bind c new-window -c "#{pane_current_path}"Customize Keybindings
# Switch keybinding mode
# Select "Change escape sequence" from F9 menu
# Available modes:
# - f-keys (default): Function keys
# - screen: GNU Screen compatible
# - vim: Vim-style
# Switch to GNU Screen compatibility mode with F12
# F12Tips
- •Use
byobu-enableto auto-start byobu on login. Handy for server management. - •If function keys don't work, try
Shift + Function key. On macOS, you may need to change function key settings in System Preferences. - •Press
F9to open the settings menu. Customize keybindings and status bar in the GUI-like settings screen. - •If you're familiar with tmux, write additional settings in
~/.byobu/.tmux.confto leverage your existing configuration. - •Press
F7to enter scroll mode and review past output. Navigate with Vim-style keybindings (j/k). - •The status bar can display CPU, memory, and disk usage. Use it as a system monitoring tool.
- •On Ubuntu, install easily with
apt install byobu. It's recommended as a default environment for Ubuntu servers.
Comparison with tmux/screen
| Feature | Byobu | tmux/screen |
|---|---|---|
| Learning curve | Gentle (function keys) | Steep (prefix keys) |
| Default configuration | Ready to use (beautiful status bar) | Requires customization |
| System monitoring | Built-in feature | Requires additional setup |
| Settings GUI | F9 menu | Text files only |
| Customizability | Standard (can also use tmux/screen config) | Highly customizable |
| Plugins | tmux plugins available | Rich ecosystem |
| Documentation | Limited | Abundant |
Who Should Use Byobu
- - Beginners trying terminal multiplexers for the first time
- - People without time to customize settings
- - Ubuntu server administrators
- - People who want to monitor system while working