Skip to content

Watching a machine

Terminal window
aos remote share
aos remote share --monitor=2 --fps=8

It prints a LAN URL. Open it on a phone or another laptop and you see the screen, and can drive the mouse and keyboard.

Terminal window
$ aos remote url
aos: no share is running; start one with `aos remote share`

remote share is blocking, and that is a security property rather than a UX one. Blocking commands are excluded from the MCP tool list, so an agent connected over MCP cannot open a desktop-control channel on someone’s machine. A person starts the share at a terminal, watches it run, and revokes it with Ctrl-C. The link lives exactly as long as the process a human is looking at.

It also NeedsDisplay, so on a screenless box it is refused with a reason rather than starting a share of nothing.

The URL is a LAN address. Nothing is relayed through a third party and nothing is punched out of the network — the library it is built on (windowctl) cannot open a tunnel. If you want it reachable from elsewhere, that is an SSH tunnel you set up deliberately.

An optional remote.json in ~/.config/aos/ sets key, port, fps and monitor. It lives in aos’s own config directory rather than in windowctl’s environment on purpose: a key exported for the windowctl CLI should not silently become the key for a share an aos user started.