systemd units

July 12, 2026 · View on GitHub

OVOS runs as user services of the ovos user (lingering enabled, so they start at boot without login). Hardware/root concerns run as system services.

User units (systemctl --user …)

UnitRole
ovos.serviceumbrella target for the stack
ovos-messagebus.servicethe message bus every component connects to
ovos-skills.serviceskill loading and intent handling
ovos-audio.serviceTTS playback and audio output
ovos-listener.servicemicrophone, wake word, STT
ovos-phal.serviceplatform/hardware abstraction (user side)
ovos-gui.serviceGUI message bus (display optional)
ovos-ggwave.servicedata-over-sound pairing
ovos-yaml-editor.service, ovos-skill-settings-ui.serviceweb config UIs
gmrender.serviceDLNA renderer
ovos-librespot.service, ovos-spotifyd.serviceSpotify (disabled by default)

System units (sudo systemctl …)

UnitRole
ovos-admin-phal.serviceroot-level PHAL plugins (system python)
i2csound.serviceI²C audio HAT detection at boot
autoconfigure_soundcard.servicedefault audio output selection
splashscreen.serviceboot splash
ovos-reboot-signal.service, ovos-shutdown-signal.serviceemit bus messages on reboot/shutdown

Handy commands

systemctl --user status ovos.service        # stack health at a glance
journalctl --user -u ovos-skills -e         # a service's log
systemctl --user restart ovos-listener      # after config changes