It is no secret that most Linux power users use the shell for many tasks, as for people who know what they are doing, it can be quite efficient. In addition, there are some tasks that can only be carried out from the command line, although their number shrinks every year. However, these days we are spoiled because you can have one X session running lots of terminals at once. If you log into a server, it might not have X. Or you might log into a computer over a slow connection where X is painful to use. What then? The modern answer is the tmux terminal multiplexer, and [zserge] has a thoughtful introduction to how you can use tmux for improved productivity at the command line.
In particular, he shares some configuration and offers sound advice. For example, do you really need a status bar that shows you CPU load at all times? Cool, yes, but not always a practical win.
The traditional answer was to use screen. This is a venerable program that lets you do nearly the same thing as tmux, but the newer program has a few advantages:
- The tmux program is easier to configure
- You can command tmux through scripts easier
- Unicode support is better in tmux
On the other hand, screen is very mature whereas tmux is comparatively new. Still, tmux isn’t that new and works well for many people.
If you want even more features, try byobu which can use screen or tmux to do the actual work, whichever you prefer. We even talked about all three programs briefly in the past. Speaking of working in the terminal, we find it interesting that we can now run a pretty good version of bash on Windows and run Powershell on Linux.