||<
><>|| [[http://byobu.co|Byobu]] [[http://byobu.co/byobu.wav|{{attachment:sound.png}}]] is a light, powerful, text-based window manager based on [[http://www.gnu.org/software/screen/|GNU Screen]]. Using Byobu, you can quickly create and move between different windows over a single SSH connection or TTY terminal, monitor dozens of important statistics about your system, detach and reattach to sessions later while your programs continue to run in the background. == Quick Start Guide == === Enable/Disable === Byobu can be configured to run by default at every text login (SSH or TTY). That behavior can be toggled with the [[http://manpg.es/byobu-enable.1|byobu-enable]] and [[http://manpg.es/byobu-enable.1|byobu-disable]] commands. {{{ byobu-enable }}} and {{{ byobu-disable }}} Note that you can also [[http://manpg.es/ssh.1|ssh]] to a host and ''not'' launch Byobu at login any time with: {{{ ssh -t remotehost bash }}} === Status and Caption Lines === Byobu displays two lines at the bottom of your screen. The upper one is the ''Caption'' line, and the lower one is the ''Hard Status''. {{attachment:bottom.png}} The ''Caption'' line shows your open windows, and highlights the one upon which you are focused, and optionally displays your ''user name'', ''host name'', ''IP address'', and a hint that there is a ''Menu'' available if you press ''F9''. The ''Hard Status'' line consists of color coded output and symbols with configurable and dynamically updated facts, statistics, and information about the local system. See the [[Byobu#Status Notifications|Status Notifications]] section below for more information. Some users may find the ''Hard Status'' line distracting. The [[http://manpg.es/byobu-quiet.1|byobu-quiet]] command will disable the display of the ''Hard Status''. Append ''--undo'' to revert this configuration change. Some other users may find both the ''Hard Status'' and ''Caption'' distracting. In this case, the [[http://manpg.es/byobu-silent.1|byobu-silent]] command will disable both lines. Again, append ''--undo'' to revert the change. === Key Bindings === Byobu is a configuration layer on top of GNU Screen. As such, all of [[http://www.gnu.org/software/screen/manual/html_node/Default-Key-Bindings.html|GNU Screen's keybindings]] work in Byobu exactly as in Screen. Moreover, Byobu provides a comprehensive, advanced set of commands bound to the F-keys on most keyboards. ||'''F2'''|| Create a new window || ||'''F3'''|| Move to the previous window || ||'''F4'''|| Move to the next window || ||'''F5'''|| Refresh all status notifications || ||'''F6'''|| Detach from the session and logout || ||'''Shift-F6'''|| Detach from the session, but do not logout || ||'''F7'''|| Enter scrollback/search mode || ||'''F8'''|| Rename the current window || ||'''F9'''|| Launch the Byobu Configuration Menu || ||'''F12'''|| GNU Screen's Escape Key || ||'''Alt-Pageup'''|| Scroll back through this window's history || ||'''Alt-Pagedown'''|| Scroll forward through this window's history || ||'''Shift-F2'''|| Split the screen horizontally || ||'''Ctrl-F2'''|| Split the screen vertically || ||'''Shift-F3'''|| Move focus to the next split || ||'''Shift-F4'''|| Move focus to the previous split || ||'''Shift-F5'''|| Collapse all splits || ||'''Ctrl-F5'''|| Reconnect any SSH/GPG sockets or agents || ||'''Shift-F12'''|| Toggle all of Byobu's keybindings on or off || == Advanced Features == === Screen's Escape Key === Traditionally, GNU Screen's escape key sequence is '''ctrl-a'''. However, this conflicts with GNU Emacs' use of '''ctrl-a''', which brings the cursor to the beginning of the line. GNU Screen can be configured to use a different sequence for its escape, but to do this by default confuses some traditional GNU Screen users. Therefore, Byobu will prompt the user the first time they press '''ctrl-a'''. {{{ Configure Byobu's ctrl-a behavior... When you press ctrl-a in Byobu, do you want it to operate in: (1) Emacs mode (go to beginning of line) (2) Screen mode (screen's default escape sequence) Note that: - F12 also operates as Screen escape in Byobu - You can press F9 and choose your escape character - You can run 'byobu-ctrl-a' at any time to change your selection Select [1 or 2]: }}} GNU Emacs aficionados can choose option (1), and their '''ctrl-a''' will behave in Emacs mode thereafter. These users can press '''F9''', and then choose a different escape character, if they wish, or they can simply use Byobu's default, '''F12''' and '''ctrl-^'''. Users who choose option (2) can use either '''ctrl-a''' or '''F12''' as their escape key. * Actually, we can use '''ctrl-a a''' to move to the beginning of the line. === Status Notifications === Byobu provides nearly 40 different status notifications that can be toggled on or off, and in some cases, configured. The [[http://manpg.es/byobu.1|Byobu manual]] contains authoritative descriptions of each and every notification. ==== Toggling Notifications ==== Each notification can be toggled from the Byobu Configuration Menu, using: * '''F9''' -> '''Toggle status notifications''' -> (make selections) -> '''Apply''' Alternatively, notifications can be toggled by editing the file {{{~/.byobu/status}}}. ==== Configuring Notifications ==== Some notifications have configurable options, such as choosing the ethernet interface or disk to monitor, or displaying units in Celsius or Fahrenheit. These values can be set in {{{~/.byobu/statusrc}}}. To see the the list of configurable variables, see the bottom of {{{/etc/byobu/statusrc}}}, and the [[http://manpg.es/byobu.1|Byobu manual]]. === Custom Status Notifications === Beyond the bundled notifications, it is quite easy to write your own custom notification to monitor anything you want on your system. Simply create the Byobu custom binary directory: {{{ mkdir -p $HOME/.byobu/bin }}} And create a script in that directory named ''NN_foo'', where ''NN'' is the frequency in seconds that you want to run your script, and ''foo'' is some description of your status item. Make sure that the script is executable. {{{ cat > $HOME/.byobu/bin/10_vms < '''Change Byobu's background color''' * '''F9''' -> '''Change Byobu's foreground color''' The variety of the colors in the status notifications can be flattened by adding {{{MONOCHROME=1}}} in {{{~/.byobu/colors}}}. === Window Sets === Users can create a list of windows to launch at startup in $DATA/windows. This file is the same syntax as ~/.screenrc, each line specifying a window using the "screen" command, as described in [[http://manpg.es/screen.1|Screen's manual]]. User can also launch Byobu with unique window sets. Users can store these as $DATA/windows.[NAME], and launch Byobu with the environment variable BYOBU_WINDOWS. For example: {{{ $ cat $DATA/windows.ssh_sessions screen -t localhost bash screen -t aussie ssh root@aussie screen -t beagle ssh root@beagle screen -t collie ssh root@collie $ BYOBU_WINDOWS=ssh_sessions byobu }}} == More Information == * [[http://manpg.es/byobu.1|Byobu's Manual]] * [[http://manpg.es/screen.1|GNU Screen's Manual]] * [[http://byobu.co/|Byobu's Webpage]] * [[http://blog.dustinkirkland.com/search/label/Byobu|Announcements, Tips, and Tricks]]