Persistent Sessions

July 23rd, 2019
tech, tmux
I do most of my work on my laptop, ssh'd into remote machines. Whenever my laptop loses internet I lose my connections. Reconnecting is kind of annoying, because I lose my directory, editor session, environment variables, and any running jobs. For years I've just dealt with this, and tried not to lose my connection, but I finally decided to figure out how to get persistent sessions. I have them set up now, it wasn't that much work, and it's wonderful.

I run iterm2 with multiple columns. In each column terminal I run:

$ connect-a
Or b/c/d for the other four columns. This is defined as an alias in my ~/.bashrc:
$ alias connect-a="mosh desktop -t tmux new-session -A -s a"
This reconnects to the session a, or creates it if it doesn't exist.

And that's it! It's possible to do all sorts of fancy things with tmux but for the most part I want my local terminal emulator and window manager to do those things instead.

I now run this in place of ssh desktop, and being able to start a long-running job and then just close my laptop lid is wonderful.

When I think about why I didn't do this earlier, given how much I like it, it's a tricky question. I tried using screen a few times, and would intentionally use it when starting long running jobs, but it was annoying enough that I didn't want to use it by default. I also had tried tmux, but I'd tried it in its "multiple virtual terminals in a single terminal" mode which isn't as good as a native terminal emulator. I think maybe the main thing was realizing I could name my persistent sessions and associate them with my terminal columns?

Comment via: facebook

Recent posts on blogs I like:

Facts I Learned From A City On Mars

Space bastardry!

via Thing of Things April 14, 2025

Which Came First, the Chicken or the Egg?

When I thought about this question it was really hard to figure out because the way it's phrased it's essentially either a chicken just pops into existence, or an egg just pops into existence, without any parent animals involved. I thought about t…

via Lily Wise's Blog Posts April 13, 2025

Advice for time management as a manager

have accurate expectations of yourself • prioritize ruthlessly • unemploy your future self • a five-step “help, I’m overwhelmed” checklist • carve out focused time

via benkuhn.net April 1, 2025

more     (via openring)