repos / zmx

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

commit
f973821
parent
3e935f2
author
Eric Bower
date
2025-11-23 15:29:53 -0500 EST
chore(docs): readme
1 files changed,  +8, -16
M README.md
+8, -16
 1@@ -1,4 +1,6 @@
 2-# zmx - session persistence for terminal processes
 3+# zmx
 4+
 5+session persistence for terminal processes
 6 
 7 ## features
 8 
 9@@ -7,27 +9,19 @@
10 - Native terminal scrollback
11 - Manage shell sessions
12 - Multiple clients can connect to the same session
13-- Each session creates its own unix socket
14+- Each session creates its own unix socket file `/tmp/zmx/`
15 - Re-attaching to a session restores previous terminal state and output
16 - The `daemon` and client processes communicate via a unix socket
17-- All sessions (via unix socket files) are managed by `systemd`
18-- We provide a `systemd` unit file that users can install that manages the `daemon` process
19-- The cli tool supports the following commands:
20-  - `attach {session}`: attach to the pty process
21-  - `detach`: detach from the pty process without killing it
22-  - `kill {session}`: kill the pty process
23-  - `list`: show all sessions and what clients are currently attached
24-  - `daemon`: the background process that manages all sessions
25 - This project does **NOT** provide windows, tabs, or window splits
26 - It supports all the terminal features that the client's terminal emulator supports
27-- The current version only works on linux
28+- Works on mac and linux
29 
30 ## usage
31 
32-- `zmx attach <session_name>` - create or attach to a session
33-- `zmx detach` (or Ctrl+b + d) - detach from session while keeping pty alive
34+- `zmx attach {session_name}` - create or attach to a session
35+- `zmx detach [{session_name}]` (or Ctrl+\) - detach all connected clients to session, can be used inside session without providing name
36 - `zmx list` - list sessions
37-- `zmx kill <session_name>` kill pty and all clients attached to session
38+- `zmx kill {session_name}` kill pty and all clients attached to session
39 
40 ## prior art
41 
42@@ -35,8 +29,6 @@ Below is a list of projects that inspired me to build this project.
43 
44 ### shpool
45 
46-The project that most closely resembles `shpool`.
47-
48 You can find the source code at this repo: https://github.com/shell-pool/shpool
49 
50 `shpool` is a service that enables session persistence by allowing the creation of named shell sessions owned by `shpool` so that the session is not lost if the connection drops.