Uso Pulseaudio para compartir audio entre una computadora de escritorio y una Raspberry Pi.
Sin embargo, Pulseaudio necesita dbus, y dbus necesita una sesión X. Sin una sesión gráfica, Pulseaudio solo puede ejecutarse en modo sistema, lo que oficialmente no se recomienda.
Además en un Raspberry Pi, el costo de una sesión X es dramáticamente alto, por lo que me gustaría deshacerme de él de la manera más eficiente (menos costosa).
¿Cómo puedo comenzar la sesión X más pequeña para que Pulseaudio se inicie?
x11
pulseaudio
kursus
fuente
fuente
Respuestas:
Puede usar Xvfb , que es un servidor X con un framebuffer virtual, es decir, un servidor X que solo se muestra en la memoria y no se conecta a ningún hardware. No necesita ejecutar ningún cliente que no desee en ese servidor, y en particular ningún entorno de escritorio o administrador de ventanas.
Después de este:
Debe esperar un poco después de comenzar
Xvfb
para que la pantalla esté disponible. Puede usarxinit
para iniciar un servidor X y luego iniciar clientes cuando esté listo. Ponga los comandos que desea ejecutar en un script (tenga en cuenta que cuando el script se cierra, el servidor X se cierra):Inicie el servidor X virtual con
Si desea ejecutarlo en el momento del arranque, puede iniciarlo desde cron. Ejecute
crontab -e
(como su usuario, no como root) y agregue la líneaSi desea matar esta sesión, elimine el
xinit
proceso.fuente
@reboot
. También alanc tiene razón, debe haber un retraso después de iniciar Xvfb, y xinit resuelve este problema. Mira mi edición.Tuve el mismo problema ayer, usando el audio Pulse para raspberrypi 0 W con DBus en un entorno sin cabeza creado con yocto sin x11 y sin systemd, necesita ejecutar y exportar dbus antes de ejecutar pulseaudio.
En etc / pulse / client.conf, habilite allow-autospawn-for-root = yes
Ejecute
pulseaudio -v
para verificar si hay otro problema en su configuración. No use el--system
interruptor porque no será correcto.fuente
¡Hay una manera más elegante de evitar que el script alcance EOF que usarlo
sleep 99999999
!Usar en su
sleep infinity
lugar. Hace lo que dice...fuente