Launch on boot
Last updated on June 26, 2026
When Launch on boot is on, the CLI starts as a background service the moment the station boots. The bench is ready to pull deployments and accept runs without anyone opening a terminal.
Toggle the setting
Open Stations → Station name → Setup and flip Launch on boot. The dashboard pushes the new value to the bench over the live channel, and the CLI applies it on receipt.
How it works
The CLI registers itself with the platform's service manager when the toggle flips on:
- Linux (normal user): a
systemduser unit that runs the CLI under the logged-in user. This is the setup for a bench with a screen, where the kiosk opens a browser on the local display. - Linux (root): a
systemdsystem unit at/etc/systemd/system/tofupilot.service, started at boot with no login required. The CLI detects that it runs as root and installs the system unit automatically. Run as root when the test sequence needs direct hardware access. - macOS: a
launchdLaunchAgentplist. - Windows: a Run-key entry under
HKCU\Software\Microsoft\Windows\CurrentVersion\Run.
The CLI installs this service automatically when you set up the bench as a station with tofupilot login --token. The dashboard toggle is the recommended way to manage it across a fleet.
Running as root on a headless bench
A root system service starts at boot with no login session, so it has no graphical display. The on-screen kiosk UI cannot open there, and the dashboard disables the kiosk toggle for these stations. Drive the station from the dashboard instead: open Stations → Station name in any browser to select a procedure and run tests.
Authenticate the root service with sudo tofupilot login so credentials are stored where the boot service reads them. A procedure appears in the picker once it is linked to the station and its deployment has been pulled.
If you enable launch on boot from a shell with no login session bus (for example over SSH as a non-root user), systemctl --user has no bus to connect to. Either run as root for the system service, or enable lingering for the station user with sudo loginctl enable-linger <user>.
Turning it off
When you flip the toggle off, the CLI deregisters the service entry and removes the boot hook. The CLI keeps running for the current session; the next reboot starts it only when the operator launches it manually.
How is this guide?
Kiosk UI
Learn how to boot a TofuPilot station into a full-screen browser with no tabs or chrome so operators see only the procedure they need to run.
Desktop shortcut
Place a TofuPilot shortcut on the station desktop so operators can launch a test run with a single click, with no terminal commands or browser bookmarks.