Estoy intentando configurar un proceso de Python que reproduzca audio para que se inicie automáticamente al arrancar con systemd, pero cuando lo hago, el audio está lleno de mensajes emergentes, aunque está bien cuando lo ejecuto yo mismo en la línea de comando. Como puede ver en mi .service
archivo a continuación, he intentado maximizar la prioridad del proceso en todas las formas que se me ocurren. ¿Alguien sabe qué está pasando mal?
El guión está aquí:https://github.com/UndarkAido/superhet(Tendrá que completar el music
directorio y secrets.py
usted mismo para ejecutarlo. genBreaks.py
completa el breaks
directorio).
superhet.servicio:
[Unit]
Description=Superhet radio
After=multi-user.target sound.target
[Service]
Type=simple
CPUSchedulingPolicy=fifo
CPUSchedulingPriority=99
IOSchedulingClass=realtime
IOSchedulingPriority=0
Nice=-20
User=aidan
Group=aidan
WorkingDirectory=/home/-user-/Source/superhet
ExecStart=/home/-user-/Source/superhet/venv/bin/python main.py
[Install]
WantedBy=multi-user.target
Información del sistema:
`.::///+:/-. --///+//-:`` -user-@superhet
`+oooooooooooo: `+oooooooooooo: --------------
/oooo++//ooooo: ooooo+//+ooooo. OS: Raspbian GNU/Linux 10 (buster) armv7l
`+ooooooo:-:oo- +o+::/ooooooo: Host: Raspberry Pi 4 Model B Rev 1.1
`:oooooooo+`` `.oooooooo+- Kernel: 5.10.63-v7l+
`:++ooo/. :+ooo+/.` Uptime: 20 mins
...` `.----.` ``.. Packages: 1485 (dpkg)
.::::-``:::::::::.`-:::-` Shell: bash 5.0.3
-:::-` .:::::::-` `-:::- Terminal: /dev/pts/0
`::. `.--.` `` `.---.``.::` CPU: BCM2711 (4) @ 1.500GHz
.::::::::` -::::::::` ` Memory: 89MiB / 1872MiB
.::` .:::::::::- `::::::::::``::.
-:::` ::::::::::. ::::::::::.`:::-
:::: -::::::::. `-:::::::: ::::
-::- .-:::-.``....``.-::-. -::-
.. `` .::::::::. `..`..
-:::-` -::::::::::` .:::::`
:::::::` -::::::::::` :::::::.
.::::::: -::::::::. ::::::::
`-:::::` ..--.` ::::::.
`...` `...--..` `...`
.::::::::::
`.-::::-`
Editar: systemctl status superhet.service
también se muestra superhet python[1040]: ALSA lib pcm.c:8424:(snd_pcm_recover) underrun occurred
periódicamente
Respuesta1
Agregar Environment=XDG_RUNTIME_DIR=/run/user/1000
al archivo de servicio permitió a PyGame conectarse a PulseAudio