OpenBSD Journal

OpenBSD imports tmux

Contributed by jason on from the making-X11-obsolete dept.

Good news for those working on remote machines. Nicholas Marriott (nicm@) imported tmux into the base tree.

According to the tmux website:

tmux is a "terminal multiplexer", it enables a number of terminals (or windows)
to be accessed and controlled from a single terminal. tmux is intended to be a
simple, modern, BSD-licensed alternative to programs such as GNU screen.
tmux offers several advantages over screen:

- a clearly-defined client-server model: windows are independent entities which
  may be attached simultaneously to multiple sessions and viewed from multiple
  clients (terminals), as well as moved freely between sessions within the same
  tmux server;
- a consistent, well-documented command interface, with the same syntax
  whether used interactively, as a key binding, or from the shell;
- easily scriptable from the shell;
- multiple paste buffers;
- choice of vi or emacs key layouts;
- an option to limit the window size;
- a more usable status line syntax, with the ability to display the
  first line of output of a specific command;
- a cleaner, modern, easily extended, BSD-licensed codebase.

tmux is a great alternative to GNU/Screen. The transition is easy, just use the prefix "Ctrl-B" instead of "Ctrl-A": most bindings are the same. You can also get a list of bindings by pressing "Ctrl-B ?". tmux was already in the ports, it's nice to have it in the base system now.

Editor's Note: Thanks to Henry PrÍcheur for reminding us about Nicholas' work on importing tmux. This is an excellent application that will continue to see high adoption rates in favor of GNU/Screen.

(Comments are closed)


  1. By Dan (213.8.163.8) on

    I am using screen daily.

    I have read about the differences between screen and tmux in the tmux FAQ page.

    I haven't found anything too interesting, which will have much affect on my daily life.

    Have you found anything interesting in tmux, or maybe a "killer" feature other then the license?

    Anyway, alterrnatives are always welcomed :)

    1. By Anonymous Coward (77.190.14.75) on

      > I am using screen daily.
      >
      > I have read about the differences between screen and tmux in the tmux FAQ page.
      >
      > I haven't found anything too interesting, which will have much affect on my daily life.
      >
      > Have you found anything interesting in tmux, or maybe a "killer" feature other then the license?
      >
      > Anyway, alterrnatives are always welcomed :)
      >

      IMHO tmux is less bloated: it uses less memory than GNU/screen.
      And is much more well written.

      And of course, the killer feature: It's in base ;-)

      I migrated all my screen sessions to tmux, and I dont' miss anything.

    2. By nicm (82.7.125.215) on

      > I am using screen daily.
      >
      > I have read about the differences between screen and tmux in the tmux FAQ page.
      >
      > I haven't found anything too interesting, which will have much affect on my daily life.
      >
      > Have you found anything interesting in tmux, or maybe a "killer" feature other then the license?

      screen has been about for 20 years and tmux for not much more than 2, and with this kind of program I think it is going to be hard to have a "killer" feature anyway. Now we are just about at the stage where most people can happily use either and not hugely miss features present only in the other.

      There are a few things tmux does better IMO:

      - Session and window management is more flexible, it is possible to link windows into multiple sessions arbitrarily.
      - Splitting and layouts are more powerful than the released version of screen and will improve further.
      - The UTF-8 support is a little better.
      - The code is better. I'm not going to pretend my code is perfect but screen's code is virtually unreadable. This means that if someone does have an idea for a killer feature it will be easier to implement, as well as allowing for (as Theo has kindly mentioned) easier auditing. Code that was not write-only was a big goal and will mean tmux can hopefully improve faster than screen.
      - The command set is easier to use and more consistent. Although of course it can get complicated in places and documentation improvements are ever welcome.

      Of course, feature suggestions, bug reports and code are very welcome.

    3. By Teguh Iskanto (144.135.251.1) on

      One of the killer features would be : the vertical split esp if you're goal is trying to impress someone :)

      you can't vert-split with screen , you need to put special patch for this

      > I am using screen daily.
      >
      > I have read about the differences between screen and tmux in the tmux FAQ page.
      >
      > I haven't found anything too interesting, which will have much affect on my daily life.
      >
      > Have you found anything interesting in tmux, or maybe a "killer" feature other then the license?
      >
      > Anyway, alterrnatives are always welcomed :)
      >

  2. By Theo de Raadt (199.185.137.1) on

    The most impressive thing about tmux, in my view, is how frustrating the code audit was. In 2 hours, I found only one or two nits that had very minor security consequences.

    It was not accepted into the tree based on license alone. It is high quality code.

  3. By Kevin (70.173.214.85) on

    Great news!

  4. By Anonymous Coward (85.226.112.37) on

    Two thumbs up!

  5. By Anonymous Coward (189.160.115.83) on

    I also like that in tmux you can have per-window scroll buffer.

    I'm not sure if this is possible in screen but surely I will never know because of the not-so-straightforward man page.

    1. By Anonymous Coward (81.83.2.86) on

      > I'm not sure if this is possible in screen but surely I will never know because of the not-so-straightforward man page.

      You can scroll in screen with copy mode:
      ctrl+a / esc, then use (page) up/down

      I also use screen on a daily basis and will try out tmux.

      Thanks for your engagement to improve tmux! I hope many OpenBSD fixes will go upstream because my main platform is Linux.

  6. By Brynet (Brynet) on

    Hey Nicholas (nicm@ now!),

    As the person who submitted tmux as a port, I'm glad to see it's now in base.

    It is really great, I first noticed it on SourceForge and after using it for a couple months.. it just seemed unbelievable that it wasn't already a port.

    Thanks for all the hard work you've done, you just can't beat how little resources it uses.. it really fits in with the "do one thing and do it well" paradigm.

    Good luck!

Credits

Copyright © - Daniel Hartmeier. All rights reserved. Articles and comments are copyright their respective authors, submission implies license to publish on this web site. Contents of the archive prior to as well as images and HTML templates were copied from the fabulous original deadly.org with Jose's and Jim's kind permission. This journal runs as CGI with httpd(8) on OpenBSD, the source code is BSD licensed. undeadly \Un*dead"ly\, a. Not subject to death; immortal. [Obs.]