Tuesday, May 5, 2009

byobu 2.0 released -- the project formerly known as screen-profiles




Releasing 2.0

After 54 mini-releases of screen-profiles-1, I'm pleased to declare a 2.0 release! I believe that the project is more stable, more feature-filled, and better performing than ever. screen-profiles has become much more than a fun little hack... I believe that it is ready for general usage.

Changing the Name of the Project

In conjunction with the 2.0 release, I am also renaming the project. The new name of the project and packages is byobu.

Byobu is a Japanese term for decorative, multi-panel screens that serve as folding room dividers. I think this is a fitting description of this project--an elegant enhancement of otherwise functional, plain, practical screens.
The pronunciation, as I understand it, is something like: beeyo-boo.
Update: A reader, Fumihito YOSHIDA, has provided me with a WAV file of byobu being pronounced by his friend, Nobuto MURATA, under the Creative Commons Attribution 3.0 Unported license.

Update: Micah Cowan, a GNU Screen developer, also provided a pronunciation of byobu at Farvo.com. Thanks!


Explaining the Name Change

So why am I changing the name? I'll enumerate a few reasons...
  1. I have never really liked the term screen-profiles as a permanent project name. It has always been sort of a "working title." (Think Star Wars: Episode VI's original title, Revenge of the Jedi)
  2. Like screen itself, the name screen-profiles is functional and descriptive, but perhaps a little bland.
  3. At the birth of the project, it really did provide simply a static set of profiles. But these are far more dynamic, and configurable now. The vast majority of the code is no longer in the profile itself, but in the configuration utilities and status gathering scripts that customize screen.
  4. The project is in the process of being packaged for at least Debian, Fedora, and OpenSUSE, and Ubuntu's Karmic Koala has not yet entered Alpha1. The timing for a name change is as good as it is going to get.
  5. byobu is such an appropriate name! It expresses elegance, color, multiple panels, and function. Like Ubuntu, it's an interesting word in a foreign tongue. It also rhymes with GNU. Try saying: Byobu is new GNU fu in Ubuntu, 10 times fast :-)

Looking Forward

What's next for byobu?

I believe that GNU Screen can and should be used as a window manager on Linux servers (or at least command-line-only environments) in the same way that Gnome, KDE and XFCE are used on Linux desktops. Following this analogy, you might look at Byobu as providing a functionality similar to a compositing window manager like Compiz or Beryl. Something like Compiz is certainly not for everyone, and is easy to disable. However, it is useful to some people and can certainly enhance the overall desktop experience. And that's really my goal for byobu -- to enhance the experience and usability of screen, and the command line in general.

In the byobu 2.x series, I hope to implement:
  • Additional toggle-able status items in the bottom status panel
  • Detailed callouts for each status item
  • Better interaction with various terminals
  • Additional keybinding sets
  • Configurable support for external notifiers, like notify-osd
  • Internationalization of the text

Updating Links

I've made most of the necessary changes in the source code, though I'm still in the process of updating the various links and documentation. The most important ones are:
Packaging

I am in touch with both Reinhard Tartler, who is handling the Debian packaging, and David Duffey who is handling the Fedora packaging. I should have the new package uploaded to Karmic later this week, and make packages available for Hardy, Intrepid, and Jaunty in the byobu PPA.


:-Dustin

18 comments:

  1. Dustin, I haven't looked at the source code yet, but do you plan to support ~/.screen-profiles as an existing config directory or will byobu seamlessly migrate this to ~/.byobu ?

    ReplyDelete
  2. Is there any reason that this cannot run in the other LTS release, dapper?
    The only dependancy that is not satisfied in dapper is python-newt with dapper has 0.51.6-31ubuntu1 and byobu requires >= 0.52.2-11. Don't know much about that package myself to make an informed try at backporting.

    ReplyDelete
  3. Hi Dustin,
    > The pronunciation, as I understand it, is something like: beeyo-boo.

    No, "Byobu"'s conventional pronunciation is 'beeyo-bu'. This "bu" is same as "武士道(Bushido)"s 'Bu'.

    ReplyDelete
  4. Dustin, would you mind adding migration instructions here? I've installed byobu which removes screen-profiles, but then upon re-connecting to the session, it still flashes "screen-profiles-status: No such file or directory" and the menu is broken as well. I assume I could kill the process and it would work well upon a fresh start, but I don't want to lose all my existing ssh connections.

    ReplyDelete
  5. Dustin, it's great once again to see some progress on this amazing project. It's funny, this is something that even made my hardcore CLI friends impressed. It's hard to dress up the command line and make it impressive. :)

    ReplyDelete
  6. oldman-

    As of byobu-2.1, the migration should be seamless.

    :-Dustin

    ReplyDelete
  7. Ryan-

    I'm actually running it on Dapper, via byobu-export. Use that to generate a tarball, and install that tarball on your old machines.

    :-Dustin

    ReplyDelete
  8. Hito-

    Thanks you very much for the clarification. Would you care to email me an OGG, WAV, or MP3 file of the pronunciation, and I'll attach it to the post.

    :-Dustin

    ReplyDelete
  9. Michael-

    Sorry about that. That was a deficiency of the byobu-2.0 release. I have fixed this in byobu-2.1.

    The migration instructions are quite simply:
    $ sudo sed -i 's/screen-profiles/byobu/' /etc/apt-sources.list
    $ sudo apt-get update
    $ sudo apt-get install byobu byobu-extras

    If you're in a screen session when you do this, you should be able to just refresh your profile after this.

    :-Dustin

    ReplyDelete
  10. nhaines-

    Thanks, that's what I'm going for :-)

    :-Dustin

    ReplyDelete
  11. Hi Dustin,
    I'm glad to be useful.

    ReplyDelete
  12. I just upgraded to byobu from screen-profiles and my TERM is properly set to screen-256color now. THANK YOU for fixing that.

    ReplyDelete
  13. i wrote a little shell script using lm-sensors for tracking my cpu temp. is there a way to implement it without swapping it with another module. like i just swapped it with the battery module since my server cleary doesn't have one.

    thanks in advance
    sebastian

    ReplyDelete
  14. i wrote a little shell script for monitoring my servers cpu temp using the lm-sensor package. is there a way not involving swapping modules to get it working ? like i just swapped my script with the battery module to make it work.

    thanks in advance
    -sebastian

    ReplyDelete
  15. I just released byobu-2.5 which has support for cpu temperature ;-)

    :-Dustin

    ReplyDelete
  16. I really wish you would have kept the screen-profiles name. Sure, it's not flashy or cool. But I can easily remember it, that know that is is associated with screen.

    The new name is hard to pronouce or remember.

    ReplyDelete
  17. Dustin, I'm a big fan of screen-profiles and I'll have to agree with Grant here 100%.

    Is it possible to keep a dummy package screen-profiles, or screen-goodies (like emacs-goodies)? The latter could be useful for other extensions to screen and would be very helpful for guys like me and Grant with zero memory and no imagination... :)

    ReplyDelete
  18. If you think the name is hard to remember, just think "Bring your own Bottle of Ubuntu".

    ReplyDelete

Please do not use blog comments for support requests! Blog comments do not scale well to this effect.

Instead, please use Launchpad for Bugs and StackExchange for Questions.
* bugs.launchpad.net
* stackexchange.com

Thanks,
:-Dustin