LinuxCommandLibrary

byobu

Manage persistent terminal sessions

TLDR

Start a new session

$ byobu
copy

Configuration and help
$ byobu-config
copy

Select tmux (default) or screen backend
$ byobu-select-backend
copy

Enable automatic startup after login into text console
$ byobu-enable
copy

Disable automatic startup after login into text console
$ byobu-disable
copy

Detach from byobu
$ <F6>
copy

Kill a window
$ <Ctrl a><k>
copy

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.

SEE ALSO

tmux(1), screen(1), ssh(1), bash(1)

Copied to clipboard