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>
33 lines
1.2 KiB
Markdown
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`.
|