[Unit] Description=Robot (hermes_bringup): face, camera, face detection, audio levels # Nothing here needs the user session: audio_state retries until the user's PipeWire is up. After=local-fs.target robot-cpu-performance.service robot-firewall.service [Service] User=hermes # lgpio (the display's GPIO backend) drops a notification pipe in its working directory, which must # be writable: systemd's default, /, is not. RuntimeDirectory=robot WorkingDirectory=/run/robot # audio_state reaches the user's PipeWire through this Environment=XDG_RUNTIME_DIR=/run/user/1000 ExecStart=/bin/bash -c 'source /home/hermes/robot-env.sh && exec ros2 launch hermes_bringup robot.launch.py' Restart=always RestartSec=3 TimeoutStopSec=20 [Install] WantedBy=multi-user.target