repos / zmx

session persistence for terminal processes
git clone https://github.com/neurosnap/zmx.git

commit
8a96363
parent
f9e3141
author
Eric Bower
date
2025-12-01 20:49:09 -0500 EST
docs: readme
1 files changed,  +6, -6
M README.md
+6, -6
 1@@ -94,9 +94,9 @@ Instead, we focus this tool specifically on session persistence and defer window
 2 
 3 ## ssh workflow
 4 
 5-Using `zmx` with `ssh` is a first-class citizen.  Instead of sshing into your remote system with a single terminal and have `n` tmux pandes, you open `n` number of terminals open and ssh into your remote system `n` number of times.  This might sound like a downgrade, but there are tools to make this a delightful workflow.
 6+Using `zmx` with `ssh` is a first-class citizen.  Instead of `ssh`ing into your remote system with a single terminal and `n` tmux panes, you open `n` terminals and run `ssh` for all of them.  This might sound tedious, but there are tools to make this a delightful workflow.
 7 
 8-First, create an ssh config entry for your remote dev server:
 9+First, create an `ssh` config entry for your remote dev server:
10 
11 ```bash
12 Host = d.*
13@@ -118,18 +118,18 @@ ssh d.pico
14 ssh d.dotfiles
15 ```
16 
17-This will create or attach to each session and since we are using `ControlMaster` the same `ssh` connection is reused for near-instant connection times.
18+This will create or attach to each session and since we are using `ControlMaster` the same `ssh` connection is reused for every call to `ssh` for near-instant connection times.
19 
20 Now you can use the [`autossh`](https://linux.die.net/man/1/autossh) tool to make your ssh connections auto-reconnect.  For example, if you have a laptop and close/open your laptop lid it will automatically reconnect all your ssh connections:
21 
22 ```bash
23-autossh -M 0 d.term
24+autossh -M 0 -q d.term
25 ```
26 
27 Or create an `alias`/`abbr`:
28 
29 ```fish
30-abbr -a ash "autossh -M 0"
31+abbr -a ash "autossh -M 0 -q"
32 ```
33 
34 ```bash
35@@ -139,7 +139,7 @@ ash d.pico
36 ash d.dotifles
37 ```
38 
39-Wow!  Now you can setup all your os tiling windows how you like them for your project and have as many windows as you'd like, almost replicating exactly what `tmux` used to do with a slightly different workflow.
40+Wow!  Now you can setup all your os tiling windows how you like them for your project and have as many windows as you'd like, almost replicating exactly what `tmux` does but with native windows, tabs, splits, and scrollback!  It also has the added benefit of supporting all the terminal features your emulator supports, no longer restricted by what `tmux` supports.
41 
42 ## socket file location
43