GNU Screen and Byobu Made Easy

For the *nix elitist, no graphical tool comes close to the power that the command line provides. While this may strike some people as odd, particularly those who only have experience with Windows, it’s a pretty well known fact that the Linux command line provides a method of controlling every aspect of your computer activity; this is so much the case that most GUI applications on Linux are just command line “wrappers”, hiding you from what’s actually happening behind the scenes.

GNU ScreenWhile this is all fine and dandy, things like development and multi-tasking can prove to be a little frustrating when connecting to a remote location and requiring more than one window open. Although a typical command line pretty much prevents this from happening, using GNU Screen or Byobu can make things a lot smoother. One window, multiple command lines.

As most developers will tell you, having multiple windows available to you is a godsend. It’s particularly useful when you have scripts to run in the background that generate output, but you don’t want to fork them as a daemon. Now, with GNU Screen and Byobu, you can do this easily, and even make your screen look snazzy as well. The only drawback to these utilities is that they are a little hard to get used to. In this post, I will quickly outline some of the key combinations which I use regularly.

GNU Screen and Byobu Simplified

The number one thing to remember about every command you use is Ctrl+A, which will be written as C-a. This is picked up by screen and will tell the utility that the next characters typed will be commands for screen to interpret. Keeping in mind that all keys are case-sensitive (as most things are in Linux), take a look at some of the commands below:

C-a c - Create a new screen window

C-a A - Rename the screen

C-a C-a - Go back to the previous window

C-a <0-9> - Switch to screen #0-9 (quick toggle)

C-a " - View a list of the current screens, which will allow you to select one from the list

C-a ' - Enter a screen number to switch to (slower version of C-a <0-9>)

C-a d - Detach the whole screen session and fork to the background. Very useful for remote sessions you want to leave open. The command "screen -r" will resume your screen session.

C-a <Escape> - Scroll up through your command line "history" and see what output you previously got. Hitting <Escape> again cancels it.

With the introduction of Byobu in Ubuntu 9.10, you can also get some statistics added to the bottom of your command line window to help keep you informed about the state of the system you are running on. Hitting F9 in session will bring up the menu for customization, which can make your screen session look pretty awesome. Instead of using screen to start your screen session, simply use byobu instead. Easy as pie.

If you have any questions about GNU Screen or Byobu, let me know and I’ll see what I can do to answer them. Stay tuned on Friday for another issue of “Five Things” (hopefully).

Tagged with: , , ,
Posted in Development
8 comments on “GNU Screen and Byobu Made Easy
  1. Jon says:

    I have a question about Byobu. How is it pronounced? I don’t like using software I can’t tell other people about.

  2. Josh says:

    What is the name for GNU screen in Synaptic. I couldn’t find it there.

    Can GNU screen function as an X terminal?

    • DJ Bri T says:

      I’m assuming you’re using either Debian or Ubuntu? A simple sudo apt-get install screen screen-profiles should be all you need to get started. If you’re already running Ubuntu 9.10, sudo apt-get install byobu* should set you up with byobu. The package name for GNU Screen is “screen”. So, if it’s not installing, make sure you have your repositories up to date.

      If all else fails, you can install byobu from source at https://launchpad.net/byobu.

      And I believe that screen can be used as an X Terminal, although I’ve never used it as such.

  3. Darren Embry says:

    @Josh and @DJ Bri T: GNU Screen does not interact in any way with the X Window System, i.e., it cannot be used to have an X application switch from one X display to another.

    You can use VNC to create persistent X sessions:
    http://en.wikipedia.org/wiki/VNC

    There is also xmove:
    http://en.wikipedia.org/wiki/Xmove

    • DJ Bri T says:

      Thanks for the heads up, Darren. VNC is a nice option for that. The only issue to watch out for are the inherent security issues with it, such as plain-text communication and the 7-character password limit. If you’re using VNC, tunnel or VPN your traffic first.

  4. gris says:

    What about C-a n – go to next screen ?

  5. Ashley says:

    Or C-a x which requires a password to resume using any part of the screen session?

    Also, anyone successfully using nested screen sessions, meaning you run screen, ssh to another machine and use screen from in there?

4 Pings/Trackbacks for "GNU Screen and Byobu Made Easy"
  1. [...] more here:  GNU Screen and Byobu Made Easy | DJ Bri T.net Share this [...]

  2. Social comments and analytics for this post…

    This post was mentioned on Twitter by linuxalive: GNU Screen and Byobu Made Easy #linux http://bit.ly/21OTYj

  3. [...] GNU Screen and Byobu Made Easy – Nice overview of the features that byobu adds to screen – comes standard in Ubuntu Karmictags: linux screen ubuntu howto [...]

  4. [...] GNU Screen and Byobu Made Easy [...]

Leave a Reply