pi_audio/root-README.md
Me Here f0a07c269d Restructure into a reusable, genericized deploy kit
Reorganize the repo so it can rebuild the audio hub on any Pi, not just
the live `adac` box:

- README.md: now a project landing page (overview, repo map, deploy
  summary) instead of the adac-specific maintenance guide.
- MAINTENANCE.md: the "how it's wired / day-to-day upkeep" guide,
  genericized with <pi-host>/<pi-ip>/<lan-cidr>/<desktop-host> placeholders.
- config/: the actual PipeWire/WirePlumber drop-ins as deploy-ready
  templates (<VOLT_SOURCE>/<VOLT_SINK>/<LAN_CIDR> placeholders, with the
  commands to resolve them in each file's header comment).
- systemd/bt-agent.service, firmware/config.txt.snippet: the remaining
  deployable artifacts.
- instances/adac.md: the live deployment's real values (host, IP, Volt
  serial, paired phones, history) — the one place machine-specific data
  lives.
- RUNBOOK.md: replace the hardcoded LAN subnet with <lan-cidr>.
- root-README.md: genericized; .gitignore keeps local harness settings out.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-15 08:06:03 -05:00

33 lines
1.2 KiB
Markdown

# Don't manage audio from the root account
This Pi is a PipeWire audio hub, but **the audio system does not run as root.** It
runs as the **`user`** account (uid 1000). PipeWire is a per-user service, so
`pactl`, `wpctl`, `bluetoothctl`, and `systemctl --user` only work when you are
logged in as `user` — run as root they talk to an empty session and everything
looks broken even when it's fine.
## Log in as `user` instead
```bash
ssh user@<pi-host>.local # or: ssh user@<pi-ip>
```
Then read **`/home/user/README.md`** — that's the maintenance guide explaining how
the whole system is wired together and how to keep it running.
## If you are already stuck at a root shell
You can reach the audio session without logging out by prefixing commands:
```bash
sudo -u user XDG_RUNTIME_DIR=/run/user/1000 pactl info
```
But prefer just logging in as `user`. Root is only needed for the handful of
system-level pieces (Bluetooth daemon, Avahi, firmware config in
`/boot/firmware/config.txt`); those are documented in `/home/user/README.md` too.
---
> This file is deployed to `/root/README.md` on the Pi. In the project repo it's
> `root-README.md`; the maintenance guide it points to is `MAINTENANCE.md`.