When comparing tmux vs Byobu, the Slant community recommends tmux for most people. In the question“What are the best terminal multiplexers?” tmux is ranked 1st while Byobu is ranked 3rd. The most important reason people chose tmux is:
There is a keyboard shortcut that makes it easy to split a window and create more panes.
Specs
Ranked in these QuestionsQuestion Ranking
Pros
Pro Easily split panes
There is a keyboard shortcut that makes it easy to split a window and create more panes.
Pro Windows linked to sessions
tmux calls the individual shell instances windows. They are displayed like tabs in the status line. These windows can be shared between different sessions, so that any given shell instance can be in any number of tmux sessions used for different purposes or by different users. This allows configurations like the following example: User A: wAB, wA1, wA2; User B: wB1, wAB, wB2
Pro Preserve the state
As long as you don't close your session, you may even lose your SSH connection, it'll keep your state just as it was. So you can resume where you left off (via tmux attach
).
Pro Maximize screen space
As a tiling window manager, it'll make use of all the space. As you have multiple workspaces and you can resize, etc. you can adjust to see what matters most.
Pro Frequently updated
Tmux is in a state of constant development. Updates are frequent and bug reports usually get an answer within days.
Pro Customizable
Open ~/.tmux.conf to get started. You can customize keybindings, the bottom status bar, color schemes, the clock screen, your time zone, and more.
Pro Mouse support
Mouse support can optionally be enabled, allowing e.g. scrolling with the mouse wheel, or switching panes with mouse clicks.
Pro Only need to learn a few keyboard shortcuts and commands to make much headway
Pro Easy to get started
All of byobu's functionality is conveniently mapped to F1 to F12. It has a help menu to see keybindings and offers window tabs in an easy to interpret format. All this makes it easy to get started (can get in the way of power users, though).
Pro Abstracts tmux and screen with a single user interface.
Pro apt-get or yum install byobu
If neither tmux nor screen are already installed, installs tmux. Both screen and tmux can be installled at same time. Switch between either easily.
Pro Adds OS dashboard alerts
byobu has support for OS alerts when an event happens.
Pro Basic package in Ubuntu Server
Byobu package is part of the basic packages in Ubuntu Server distributions.
Cons
Con Poorly designed key binding
Counter-intuitive keyboard shortcuts make tmux very hard to use and learn.
Con Bad scrolling support
Con No builtin telnet or serial support
It's considered bloat by the maintainers and for this reason there's no builtin support for them.
Con Can't be used as login shell
The byobu abstraction layers don't pass the parameters on to tmux or screen that indicate that they should run as a login shell. This means that you can't run 'ssh -t hostname byobu'. You need to use 'ssh -t hostname bash -l -c byobu'. A second implication is that the inner shell won't know to read the .profile file instead of the .$SHELLrc file. I know of no workaround for this.
Con Comparatively heavy
byobu adds a lot of functionality to the default tmux display. Most of that can't be implemented using the internal variables tmux provides, but requires executing external scripts.
This must be done on every update of the status bar, which happens once a second. That means that the system is performing a lot of forks and interpreting a lot of scripts for this "thin shell wrapper".
Con Adds only a relatively superficial abstraction on tmux or screen
Byobu still uses GNU Screen or tmux as the backend, so from a usability perspective it doesn't add much in terms of new functionalities, instead it only adds a layer of abstraction on top of them.