byobu
Manage persistent terminal sessions
TLDR
Start a new session
Configuration and help
Select tmux (default) or screen backend
Enable automatic startup after login into text console
Disable automatic startup after login into text console
Detach from byobu
Kill a window
SYNOPSIS
byobu [options] [command]
byobu subcommand [arguments]
Common invocations: byobu, byobu attach, byobu new-session, byobu kill-server
PARAMETERS
attach [-t session-name]
Attaches to an existing Byobu session. If no session name is provided, it attempts to attach to the most recent one.
new-session [-s session-name]
Creates a new Byobu session. A session name can be specified for easier identification.
kill-server
Terminates all running Byobu sessions and the underlying Tmux/Screen server.
list-sessions
Lists all active Byobu sessions.
detach
Detaches the current Byobu session without terminating it.
-R
Attempts to reconnect to a Byobu session, or creates a new one if none exist.
-S
Specifies the socket path for a Byobu session, useful for managing multiple instances or specific sessions.
-X
Suppresses SSH forwarding prompts.
-v
Displays the Byobu version information.
--help
Shows the Byobu help message.
[command]
Executes a specified command within a new Byobu session and then exits the session upon completion.
DESCRIPTION
Byobu is an open source text-based window manager and terminal multiplexer. It provides an enhanced, user-friendly interface for either GNU Screen or Tmux, allowing users to manage multiple shell sessions from a single terminal window.
Its primary purpose is to simplify complex session management, especially for those working on remote servers or needing persistent sessions. When you detach from a Byobu session, all your running programs continue to execute in the background. You can reconnect later from the same or a different machine and resume exactly where you left off, even after network disconnections.
Byobu offers a rich set of features, including easy-to-use function key shortcuts for creating new windows (tabs), navigating between them, splitting windows into panes, and detaching sessions. It also provides a customizable status line at the bottom of the terminal, displaying useful information like system load, battery status, network activity, and more.
It's an invaluable tool for system administrators, developers, and anyone who frequently works in a command-line environment, significantly improving productivity and workflow efficiency.
CAVEATS
Byobu relies entirely on either Tmux or GNU Screen as its backend. While it simplifies their usage, fundamental understanding of how terminal multiplexers work can be beneficial for advanced troubleshooting or custom configurations.
Users should be aware that active sessions consume system resources. Large numbers of detached sessions or sessions running resource-intensive applications might impact performance.
Session naming and attachment can sometimes be tricky in multi-user environments if not managed carefully.
KEYBINDINGS & SHORTCUTS
Byobu primarily uses function keys (F-keys) for common operations, simplifying interaction. Important shortcuts include:
F2: Create a new window (tab)
F3 / F4: Navigate between windows
F5: Reload the status line or redraw the screen
F6: Detach the current session
F7: Enter scrollback mode
F8: Rename the current window
F9: Open the Byobu configuration menu
STATUS LINE
The dynamic status line at the bottom of the Byobu terminal provides a wealth of real-time system information, including CPU usage, memory, disk I/O, network activity, battery status, date/time, and more. Users can customize which indicators appear via the F9 configuration menu.
BACKEND SELECTION
Byobu can operate using either Tmux (default) or GNU Screen as its underlying backend. Users can switch between these by running the command byobu-select-backend, which will prompt for the preferred choice.
HISTORY
Byobu was initially conceived and developed by Dustin Kirkland at Canonical Ltd. as a set of helpful enhancements and a wrapper for GNU Screen, aiming to provide a more user-friendly experience with sensible defaults for Ubuntu users.
Over time, as Tmux gained popularity and maturity, Byobu evolved to support Tmux as an alternative backend, eventually making it the default due to its modern architecture and capabilities. This transition offered users the best of both worlds: the simplicity of Byobu's interface combined with the robust features of either Screen or Tmux.
Its development continues with a focus on improving usability, adding dynamic status line indicators, and integrating seamlessly into various Linux distributions.