Byobu Window Management

Registered by Dustin Kirkland  on 2009-04-27

Let's leverage the screen window manager, plus the user friendly, feature-filled rich environment added by byobu in Ubuntu.

Some environments, such as UEC & EC2 instances running as VMs in the cloud, by definition, run headless and detached (in the background). Users of these environment could greatly benefit from a convenient way to spawn multiple windows, move among them, detach, reattach later, enter scrollback, etc. Byobu would enable all of these, a virtually no cost.

Some desktop environments could actually benefit from Bybou as well. Note the "stateful" nature of applications such as Firefox, Evolution, OpenOffice and others. When a system (such as Xorg) crashes, and you restart these applications, they do their best to restore the state of your windows, tabs, and open documents. The Ubuntu desktop currently does not provide this sort of feature for gnome-terminal, but it could very easily by using Byobu.

Byobu allows for considerable "branding" of the Ubuntu server and command line experience.

:-Dustin

Blueprint information

Status:
Complete
Approver:
Jos Boumans
Priority:
Low
Drafter:
Dustin Kirkland 
Direction:
Approved
Assignee:
Dustin Kirkland 
Definition:
Discussion
Series goal:
Proposed for lucid
Implementation:
Implemented
Milestone target:
None
Started by
Dustin Kirkland  on 2009-06-26
Completed by
Dustin Kirkland  on 2010-05-20

Related branches

Sprints

Whiteboard

jib review 2009-12-18: If this spec is spec is still relevant for Lucid, please update this spec with the outcome of UDS-L and link it to the correct wiki spec. Please also update the outstanding workitems along the lines of https://wiki.ubuntu.com/WorkItemsHowto

Consider:
 Ubuntu Desktop -> Gnome
 Kubuntu Desktop -> KDE
 Xubuntu Desktop -> XFCE
 Ubuntu Server -> Byobu (Screen)

=========================================================
Output from UDS Dallas (Lucid)

General principle: should not change behavior in disruptive ways. Users who are not accustomed to screen should not have their workflow change without opting in

 * Would be confusing to open multiple ssh sessions and have them attached to the same shell
  * Configure which session to attach to when using SSH.
   * Give a list of sessions
   * Automatically attach to the most recent.
  * Open a new window in the same session
   * exit would send the user back to another window, rather than closing the connection
 * byobu, by default, introduces a number of new key bindings
  * default escape sequence is ^A (like screen)
  * plus a number of function keys
  * mdz uses ctrl-space (^@) for escape sequence to avoid conflicts
  * could have no key binding by default, require that user opt in
   * would need to make add'l functionality discoverable - status line?
 * Terminal emulator bugs / behavior changes
  * Apparently, Byobu crashes the iPhone ssh client TouchTerm (this is an issue when TouchTerm receives a lot of text scroll)
  * putty
 * uses up two lines of the terminal, which may be controversial
 * exit/detach on a ssh session sends you back to the underlying shell, which is in limbo (not in byobu, and not back t o local system either)
 * doesn't display all of the same information in motd
 * single-user mode?
  * would not use for root
 * local console, recovery scenarios
  * more failure modes
 * bugs with applications
  * mutt
  * irssi
 * Costs slightly more to run -- more processes, network traffic
 * Non-latin characters / UTF-8
 * terminal emulator scrollback behavior changes
  * uses a termcapinfo setting so that it works at all (unlike screen default)
  * when the user changes windows, scrollback is not updated

===========================================
Output from UDS Barcelona (Karmic):

Pros
 * screenshot
 * sec urity
 * screen discovery
 * window tabs setup
 * notification

Cons
 * automation -----------> ???
 * scrollback -----------> NO WORSE THAN /var/log/*
 * byobu conflict with own keybindings -----------> Bug: #403988
 * left out session running (specially as root) -----------> ???
 * problems with asian characters? -----------> COULD NOT REPRODUCE PROBLEM

Proposal
 * do not install it by default on automated install -----------> OKAY
 * add a question to installer that offer installation of byobu (selected by default?) - see asian pb -----------> TOO MANY SERVER QUESTIONS
 * use byobu as a tty (ctrl-alt-fx) replacement (neat hack, but never by default) -----------> DOESNT WORK ANYWAY
 * drop screen diversion -----------> DONE

Todo
 * configurable reattached behavior (do not reattach to already attached by default) -----------> Bug: #368963
 * cleanup sessions after 24 hours as an option and only for login shell (if possible) -----------> COULD PROVIDE A SAMPLE CRONJOB

(?)

Work Items