GNU Screen and tmux are terminal multiplexers designed for Unix-like platforms. They are basically window managers for text consoles instead of the X Window System. Screen is the more heard-of terminal multiplexer.
tmux-only features include:
- Client/server system – a server instance is started automatically when a session runs as a client for that server, which leaves less of a footprint.
- Synchronize-panes – duplicate input from any pane to all other panes in the same window. A bit like a clusterssh function to simultaneous input to all of the terms all at the same time.
ctrl+b :set-window-option synchronize-panes [on|off]
Screen only features include:
- Zmodem transfers – the abilty to transfer files when all you have is a serial connection available. Although this sysadmin does not need to use this feature.
- Attaching to a serial tty – such as screen -r /dev/ttyS0 115200 in case you lose a session.
- Naming of invidual panes – you can name each pane in case you loose track of things! TMUX wins for me
I first started using Screen, but I quickly found tmux to be the better option. With less of a footprint to deal with, I could have many hands on one server with out the need to keep spawning servers. I also found tmux had a better mastery of panes (as a terminator user very important!) and the conversion from Screen was simple after getting used to using ctrl+b instead of ctrl+a.