When comparing tmux vs Byobu, the Slant community recommends tmux for most people. In the question“What are the best shell powertools?” tmux is ranked 1st while Byobu is ranked 8th. The most important reason people chose tmux is:
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`).
Ranked in these QuestionsQuestion Ranking
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
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 Mouse support
Mouse support can optionally be enabled, allowing e.g. scrolling with the mouse wheel, or switching panes with mouse clicks.
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 Frequently updated
Tmux is in a state of constant development. Updates are frequent and bug reports usually get an answer within days.
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 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 Adds OS dashboard alerts
byobu has support for OS alerts when an event happens.
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.