A terminal that survives disconnects
pb connect opens a shell that lives on the machine. Your laptop only attaches to it, so a closed lid or a dead connection ends
nothing.
$ pb connect studio
ana@studio:~$ ./train.sh --epochs 40 # lid closed, Wi-Fi gone, laptop in a bag $ pb connect studio
# epoch 31/40 ... the output you missed, then live - 1
A shell on studio. The session belongs to studio, not to this connection.
- 2
The script keeps running. Nothing is buffered on your laptop.
- 3
From this laptop, another machine or a browser tab.
What it survives
Each row is checked on real Linux, macOS and Windows machines before a release, including the one where the answer is no.
| What happens | What you see |
|---|---|
| You close the laptop or it sleeps | The shell keeps running. On wake, pb reconnects to it by itself. |
| Wi-Fi drops or you change networks | Reconnects to the same shell. Keys typed in the gap are sent once, not lost and not repeated. |
| The session sits idle for 8 hours | Still there and usable. |
| Paperboat updates on the machine | Ordinary updates keep shells and their programs alive; the connection blinks and comes back. |
| Our servers restart | Open terminals keep working or recover on their own, and say why while they do. |
| The machine reboots | The shell ends, like any process. Paperboat does not snapshot your programs. |
Several sessions per machine
pb connect studio returns to the default session; new starts another, with a name you choose.
$ pb session list studio
NAME TITLE / PROCESS DIRECTORY STATE ATTACHED LAST ACTIVE CREATED
default train.sh ~/experiments running 1 now 3h ago
logs tail /var/log running 0 12m ago 1d ago $ pb connect studio new --name deploy
$ pb connect studio --session logs
$ pb session rename studio logs nginx-logs
$ pb session close studio logs Share a session
Let a teammate or a whole team watch a live shell, or type in it. Up to 50 people can watch; removing someone ends their access at once.
Careful: someone who joins sees up to 64 KiB of recent output, secrets included.
$ pb session share <session-id> --team <team> --member <account> --role interactive $ pb session share <session-id> --team <team> --all $ pb session join <session-id> $ pb session participants <session-id>
$ pb session unshare <session-id> - 1
One named teammate may type.
- 2
Everyone on the team may watch.
- 3
What your teammate runs.
- 4
See who is in, and end it.
In the browser
The web console opens the same shell, encrypted from your browser to the machine.
Two windows, one shell
A terminal app and a browser tab can be attached together. Output shows in both and either can type.
A hidden tab costs nothing
Switch away for an hour and come back: what was printed meanwhile is drawn at once, with no reconnect.
A status bar, if you want one
pb config status-bar shows the machine, session and connection state on the last line, and hides in full-screen programs.
Questions
How is this different from tmux over SSH?
tmux keeps the shell alive, but you still need a way in: an open port, keys, and a reconnect by hand after every drop. Paperboat keeps the shell alive, reconnects on its own, and needs no open port. You can still run tmux inside it.
How is this different from mosh?
mosh survives roaming but needs UDP ports open on the server and does not keep scrollback. Paperboat needs nothing opened, replays recent output when you return, and the session can be opened from a second device or shared.
How much output is replayed when I come back?
The recent tail, about a screenful or two (up to 64 KiB), then live output. It is not a full scrollback archive; for long logs, write to a file or use tmux inside the session.
Which shell does it run?
Your own login shell on that machine: bash, zsh or fish, with your normal dotfiles. Full-screen programs such as vim, htop and less work, with colours and resize.
Is there a limit on sessions?
Terminals from the pb command are unlimited on every plan. One machine holds up to 256 open sessions. Terminals opened in the web console are limited per plan: 10 at once on Free, 100 on Pro.
Can Paperboat read my terminal?
No. Terminal traffic is encrypted between the two machines, and from the browser when you use the console. Our servers pass ciphertext. See security.
Related
Start with the machine in front of you
Install Paperboat here, then on a second machine. Free for personal use, no card needed.
$ curl -fsSL https://get.pprbt.dev/install | bash > irm https://get.pprbt.dev/install.ps1 | iex