tmux just saved my bacon


As an administrator of systems, I live in the console, or the command-line, or as I call it “the shell”.

Many moons ago, I would open many connections in tabs between my workstation and a host. This allowed me to run many commands in parallel. Over time, I learn about SSH multiplexing which is some serious nerdy hotness. That, in a nutshell, had all of those session running on one SSH connection. Bad ass.

I was then put on to terminal multiplexing. In my case, this was tmux. There are many others, ‘;screen’ being the venerable old bastard we’ve all heard of.

Over time, I learned to live in tmux. I have one connection to a host and tmux running on the far end. If I live in the host for more than a few minutes, tmux gets installed and up goes my tmux.conf.

Such was life and such is my life. And then something amazing happened. A few moments ago, I was mucking with saltstack and iptables on a VPS host. I kicked off the highstate and blammo! My connection dropped. F.M.L. The new iptables rules applied and I just locked myself out of the host. Except, I didn’t. I was running the highstate in tmux, so while my ssh connection dropped, tmux finished the highstate and re-added the ssh rule to iptables.

ssh <hostname>

and I was back on the machine.

Thank you tmux. You just saved my bacon.