When comparing Byobu vs The Silver Searcher (Ag), the Slant community recommends The Silver Searcher (Ag) for most people. In the question“What are the best shell powertools?” The Silver Searcher (Ag) is ranked 4th while Byobu is ranked 5th. The most important reason people chose The Silver Searcher (Ag) is:
It is written in C. It is up to 10 times faster than ack.
Specs
Ranked in these QuestionsQuestion Ranking
Pros
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.
Pro Really fast
It is written in C. It is up to 10 times faster than ack.
Pro Simple syntax
Ack-compatible.
Pro Ignores files in .gitignore by default
It ignores file patterns from your .gitignore
, .hgignore
and .ignore
. This can be a bit buggy though.
Pro Supports PCRE RegExp
Supports RegEx like look-ahead/behind (only fixed length lookbehind however).
Pro No need to manage another config file or learn a new config syntax
Everything is managed with command line args, meaning you can store commonly used options through .bashrc
aliases, bash scripts, and/or autocompletion. There is no config file format to learn or extra dotfiles to manage.
Cons
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.
Con You have to remember commonly used options and add them as flags everytime
You are not able to define options in a config file as there is none. (You have to use a shell alias or wrapper script to get your default options.)
Con Cannot add custom file types
All file types ag is able to search for are baked into the executable. There is no way to add new ones neither via command line nor via (the not existing) config file. The only way is a pull request on github and waiting for a new release.