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

1.2 KiB

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

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:

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.