start_session
Launch an isolated X11 or Wayland session with its own display, D-Bus, and scratch home to run and inspect GUI programs without touching the host desktop.
Instructions
Start a sealed session: a display of its own (X11 under Xvfb, or Wayland under a headless sway), its own D-Bus and accessibility bus, and a scratch home. Nothing in it reaches the desktop of the person you're working for, and nothing of theirs reaches it. Start one, spawn a program in it, then look with accessible_tree (cheap, text) before screenshot (pixels). It lasts until stop_session, or until this server stops.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| tz | No | Its time zone, Europe/Berlin (UTC) | |
| net | No | A network its programs share and nothing else is on: nothing reaches in or out | |
| a11y | No | An accessibility bus (default true) | |
| dark | No | GTK and libadwaita's dark style | |
| name | No | What to call it (s1, s2... by default) | |
| audio | No | A sound server whose sink plays to nowhere | |
| clock | No | ISO 8601, 2026-09-26T18:40:00, in tz or UTC: where its wall clock starts and runs on from, so dates in pictures don't change (needs libfaketime) | |
| usage | No | Say, when it's stopped, what its programs used: peak memory and CPU time | |
| screen | No | WIDTHxHEIGHT (1280x800) | |
| wayland | No | Wayland, not X11 | |
| gamepads | No | Virtual Xbox 360 pads, for the gamepad tool | |
| identity | No | USER@HOST: who and where its programs are, for whoami, hostname, ls -l and $USER | |
| xwayland | No | Wayland, with Xwayland for X programs | |
| text_scale | No | Their text size, 1.25 for 125% | |
| high_contrast | No | Their high contrast style |