Mosh and byobu
Published: March 13, 2013Tags: byobu software mosh
Lately I've been making regular use of two new (for me) pieces of software, mosh and byobu.
Mosh (for mobile shell) is something like an alternative to ssh. That's not technically accurate, as mosh actually depends on ssh, but it's close enough. It's an encrypted remote shell, with the distinguishing characteristic of functioning over UDP instead of TCP. UDP is, of course, stateless, which means there's no connection to drop if your internet connection flakes out temporarily. It also means your IP address can change (say, when switching from home wifi to work wifi) without you needing to log out and back in. Finally - and this is really the thing that makes mosh awesome for me - you can suspend your laptop when you go to sleep, resume it again in the morning and your ssh connection just resumes working again. Magic!
Byobu is a replacement for the venerable [screen]. It offers the same basic functionality as screen - terminal multiplexing - with a bit of added bling. It basically uses two character rows at the bottom of your screen to display a little taskbar-esque thingy, indicating e.g the time, CPU and memory usage, uptime, etc. and also the processes currently running in the various terminals. This is arguably not that useful because you can normally get the same sort of data displayed by your window manager or desktop environment, assuming you're running Byobu inside a terminal emulator in X (actually, a good way to describe byobu might be as a text-based window manager). If you were actually using a text-mode virtual terminal, though, it would be super useful.
I'd recommend them both, although I think mosh would certainly be more useful for most people.