tmux everywhere

tmux/GNU Screen are a terminal multiplexer. That means, it re-implements the “Multiple Tabs” features for your console/terminal, but natively (it works in (almost) any terminal (emulator)) and you can detach/reattach it (very useful if you just want to leave that script running for a while without keeping your SSH connection or session opened).

Since I do most of my work remotely, and I don’t want to keep opening SSH connections or I often want to leave everything as-is and come back later, I don’t need to tell you how much I appreciate this.

I also often have unstable internet connections, in which case, I use mosh, an SSH extension which re-establish your connection when it drops (very useful if you have an unstable internet connection or if you are moving around with a laptop).

With time, I came up with a small script, to include (or source) at the bottom your SHELLrc/profile to automatically load tmux/screen (it’s compatible with both, prefering tmux). It works with a couple of emulators (edit the checks on the TERM variable if yours is not part of it), the actual console (text login), SSH and mosh.

You can find it there: tmux-everywhere. Along with my personnal tmux config.