Serial ports and telnet
Last updated: 2026-10-29
Besides SSH, a host can be a serial port — a board's or a router's console on a USB adapter — or a telnet session, for a console server, a network lab or a device without SSH. Both are hosts of your book: add one with New Host and choose Telnet or Serial Port at the top of the editor.
A serial port#
A serial port is held by the keeper of the machine its cable is plugged into — your Mac, or a Linux host such as a Raspberry Pi — as a shell is. So:
- The console stays open when you close SpectaShell, and what the board printed meanwhile is there when you open it again.
- Your other devices open it, or watch it, from Running, as any kept shell (see Shells that keep running). An iPad on the sofa sees the console of a board on your desk.
In the editor:
- Runs On is the machine the port is on: This Mac, or a host of your book. On an iPad or iPhone, a port made on a Mac opens through the host of your book that is that Mac; add the Mac as a host, with Remote Login on, and connect to it once.
- The port: on a Mac, choose one of the ports plugged in from the menu beside the field, or type it —
/dev/cu.usbserial-110. For a port on another host, the button beside the field lists that host's ports (it logs in there, and may ask for its password). On Linux a port is/dev/ttyUSB0,/dev/ttyACM0, or a Raspberry Pi's/dev/serial0. - Speed, Data, Parity, Stop (8N1 unless the device's manual says otherwise) and Flow Control.
Open it with a click on its card, or Open Serial Console in its menu. Its tab and its card in Running are named after the port, cu.usbserial-110. While it is open, the pane's ⋯ menu has:
- Release Port: the port is let go, so another program — a tool that flashes the board,
esptooloridf.py— can open it. The console and its output stay; what you type goes nowhere. - Reopen Port: takes the port back.
- Send Break: a break on the line, which a router's ROM monitor or a password recovery asks for.
A Mac stays awake while one of its serial ports is open, so the board's output is not lost while nobody touches it; closing the lid still puts it to sleep.
When the adapter is unplugged, the console says so and ends; Reconnect opens it again once the adapter is back.
Telnet#
A telnet host has an address and a port, 23 unless you give another. Runs On chooses where the session is made:
- This Mac, kept running: in your Mac's keeper, as a serial port is, so it outlives the app and your other devices can open or watch it.
- A host of your book: in that host's keeper — the way into a lab network only that host reaches.
- On an iPad or iPhone, This device: SpectaShell connects itself. Nothing keeps the session: it ends with the connection, as a plain SSH shell does, and Reconnect starts a new one.
Telnet is not encrypted. What you type, passwords included, crosses the network as it is. The host's card says so, and SpectaShell never types a saved password into a telnet session.
Good to know#
- Opening a serial port on Linux needs the
dialoutgroup. If the console says so, runsudo usermod -aG dialout $USERon that host and log in again. - A port another program holds cannot be opened: the console says it is in use.
- A host the console runs on needs SpectaShell's keeper there; it is put there at the first connection, as for shells kept running.
- A USB adapter plugged straight into an iPad is not supported yet (see What SpectaShell does not do).