The Tiresome Transition to the Terrific Tmux, the Terminal Multiplexer

One of the first really nifty CLI programs I discovered was screen. When I started using it, I had no idea what I was actually doing, but it worked.

After a little tweaking I got myself a nice configuration and used screen everywhere I could. I mean, it was amazing. From one single ssh session I could launch an endless amount of simultaneous tasks, easily and quickly switch between them, and even have the task continue if I accidentally got disconnected.

I had heard many good things about tmux, a program similar to screen, but it took me a long time to completely switch over to tmux. I think this was largely due to how I was used to screen and its functions. But when I upgraded my Debian server to Wheezy, it started to act weird, particularly the status bar, docked at the bottom of the terminal.

Since I knew people who preached the good word of tmux almost religiously, I decided to give it a go. I tried many different configurations, but I never really did get the hang of it until I started mixing it up a lot myself.

Eventually I ended up with the mutant hybrid of many different peoples’ favorite setups… and it was beautiful. I now see the profits of tmux.

Tmux has something called panes, where you can split up a window into several different windows. A very nifty feature which is surprisingly easy to control and navigate. I am something of an eye candy nerd. I like to see statistics and data without having to search for it, and since I often have a lot of empty space on the right hand side of the monitor, I decided to dedicate a portion of it to top, iotop and iftop. At first, it felt very unusual with a bunch of stuff where there wasn’t any stuff before, but it quickly felt very familiar, as if it belonged there.

Of course, I don’t use the same screen layout everywhere. If I’m programming I prefer to have a lot of space dedicated to vim, so I just switch to another window (in tmux), since vim itself has some very nice tabbing features. If you take a look at my screenshot, you can see me not using vim in it’s dedicated window, and you can also see why on row 52. I try to avoid word wrapping as much as possible, especially in vim where it confuses the hell out of me.

Something that I like with screen that tmux lacks is the ability to “sticky” split windows. If I’m using a very large monitor with a great resolution, I like keeping irssi stuck to the top third of the screen, while I can navigate freely below. Tmux lacks this feature. Or, I just haven’t discovered it yet.