Run a laser from a remote host
The host is a Windows or Linux computer next to the laser. It runs the Beam Bench CLI without a desktop window. Your laptop runs the normal Windows, macOS or Linux app. The laser stays connected to the host by USB.
Use the same Beam Bench version on both computers. Export a machine profile from the desktop, copy it to the host as machine.bbprofile and import it while the host is stopped. Run the appropriate commands below in the folder containing the CLI.
Use a private, trusted LAN. The token must contain at least 32 ASCII characters without spaces. HTTP does not encrypt the token or project. Use an SSH tunnel or TLS reverse proxy on an untrusted network, and do not expose this port directly to the internet.
On Linux, install the persistent systemd service described in the full setup guide before disconnecting SSH. A foreground host may exit with the SSH session. On Windows, keep the host terminal open. Save the printed token in a password manager and reuse it after restarting the host.
Linux
./beambench-cli host import-profile machine.bbprofile
export BEAMBENCH_API_TOKEN="$(openssl rand -hex 32)"
printf '%s\n' "$BEAMBENCH_API_TOKEN"
./beambench-cli host serve --network --port 5900Windows PowerShell
.\beambench-cli.exe host import-profile machine.bbprofile
$bytes = New-Object byte[] 32
$rng = [System.Security.Cryptography.RandomNumberGenerator]::Create()
$rng.GetBytes($bytes)
$rng.Dispose()
$env:BEAMBENCH_API_TOKEN = [BitConverter]::ToString($bytes).Replace('-', '').ToLowerInvariant()
$env:BEAMBENCH_API_TOKEN
.\beambench-cli.exe host serve --network --port 5900On the laptop, open Run > Laser, then Laser connection > Remote host. Enter the host address and token, and select Save and connect. Select the host profile and USB port. Transfer and check project, review the host preview and preflight, frame with the laser off, then explicitly confirm Start on host. The compressed project limit is 64 MiB.
The host must remain powered, awake and connected by USB. Closing the laptop does not stop a running job. Reconnect with Connect to host to see its status; reconnecting never starts or resumes a job. Stay with the laser. If the connection is lost, stale progress does not mean the laser stopped. Use the physical stop when remote control is unavailable. Restarting the host process does not resume an interrupted job.