Parece que cualquier proceso que se vincule a la familia libpulse * de objetos compartidos, ya sea antes o después de ejecutar X y el administrador de ventanas i3, puede implícitamente autoengendrar el servidor PulseAudio, bajo su proceso de usuario, como un subproducto de los intentos de interactuar con el subsistema de audio . El creador de PulseAudio, Lennart Poettering, parece confirmar esto, en un correo electrónico 2015-05-29 a la lista de correo systemd-devel :
"pulseaudio generalmente no es un servicio del sistema, sino un servicio de usuario. A menos que su sesión de usuario esté totalmente convertida para ser administrada por systemd también (lo cual es poco probable) systemd no está involucrado en absoluto con su inicio.
"PA generalmente se inicia desde el script o servicio de configuración de la sesión. En Gnome eso es gnome-session, por ejemplo. También se genera automáticamente a pedido si se usan las bibliotecas y se nota que falta".
Por ejemplo, en Debian Stretch (Testing), el navegador web IceWeasel se vincula a dos objetos compartidos libpulse *: 1) libpulsecommon-7.1.so; y 2) libpulse.so.0.18.2:
k@bucket:~$ ps -ef | grep iceweasel
k 17318 1 5 18:58 tty2 00:00:15 iceweasel
k 17498 1879 0 19:03 pts/0 00:00:00 grep iceweasel
k@bucket:~$ sudo pmap 17318 | grep -i pulse
00007fee08377000 65540K rw-s- pulse-shm-2442253193
00007fee0c378000 65540K rw-s- pulse-shm-3156287926
00007fee11d24000 500K r-x-- libpulsecommon-7.1.so
00007fee11da1000 2048K ----- libpulsecommon-7.1.so
00007fee11fa1000 4K r---- libpulsecommon-7.1.so
00007fee11fa2000 8K rw--- libpulsecommon-7.1.so
00007fee121af000 316K r-x-- libpulse.so.0.18.2
00007fee121fe000 2044K ----- libpulse.so.0.18.2
00007fee123fd000 4K r---- libpulse.so.0.18.2
00007fee123fe000 4K rw--- libpulse.so.0.18.2
Puede ver qué procesos en ejecución se vinculan con libpulse *. Por ejemplo, primero obtenga una lista de objetos compartidos libpulse *, luego ejecute lsof en cada uno (nota: esto proviene de Debian Stretch (Testing), por lo que su salida puede diferir):
sudo find / -type f -name "*libpulse*"
*snip*
/usr/lib/x86_64-linux-gnu/pulseaudio/libpulsedsp.so
/usr/lib/x86_64-linux-gnu/pulseaudio/libpulsecommon-7.1.so
/usr/lib/x86_64-linux-gnu/libpulse.so.0.18.2
/usr/lib/x86_64-linux-gnu/libpulse-simple.so.0.1.0
/usr/lib/x86_64-linux-gnu/libpulse-mainloop-glib.so.0.0.5
/usr/lib/libpulsecore-7.1.so
/usr/lib/ao/plugins-4/libpulse.so
sudo lsof /usr/lib/x86_64-linux-gnu/pulseaudio/libpulsecommon-7.1.so
COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME
gnome-she 864 Debian-gdm mem REG 252,1 524312 274980 /usr/lib/x86_64-linux-gnu/pulseaudio/libpulsecommon-7.1.so
gnome-set 965 Debian-gdm mem REG 252,1 524312 274980 /usr/lib/x86_64-linux-gnu/pulseaudio/libpulsecommon-7.1.so
gnome-set 1232 k mem REG 252,1 524312 274980 /usr/lib/x86_64-linux-gnu/pulseaudio/libpulsecommon-7.1.so
gnome-she 1286 k mem REG 252,1 524312 274980 /usr/lib/x86_64-linux-gnu/pulseaudio/libpulsecommon-7.1.so
chrome 2730 k mem REG 252,1 524312 274980 /usr/lib/x86_64-linux-gnu/pulseaudio/libpulsecommon-7.1.so
pulseaudi 18356 k mem REG 252,1 524312 274980 /usr/lib/x86_64-linux-gnu/pulseaudio/libpulsecommon-7.1.so
Para indicar a estos procesos que no aparezcan automáticamente PulseAudio, edite ~ / .config / pulse / client.conf y agregue la línea
autospawn = no
PulseAudio y sus bibliotecas respetan esa configuración, en general.
El enlace libpulse * mediante procesos en ejecución también puede indicar por qué PulseAudio reaparece tan rápidamente. La página de FreeDesktop.org, " Running PulseAudio ", parece confirmar esto:
"... por lo general, algunas aplicaciones en segundo plano se volverán a conectar de inmediato, haciendo que el servidor se reinicie de inmediato".
Parece indicar que inicia el administrador de ventanas i3 a través de la consola (ejecutando xinit) y no utiliza un administrador de pantalla o entorno de escritorio. El resto de esta respuesta detalla información para aquellos que usan GNOME, KDE, etc.
INFORMACIÓN ADICIONAL, PARA GNOME / KDE AUTOSTART
El paquete PulseAudio (5.0-13), en Debian Jessie (Estable) amd64, instala los siguientes cuatro archivos del sistema :
- /etc/xdg/autostart/pulseaudio-kde.desktop
- /etc/xdg/autostart/pulseaudio.desktop
- / usr / bin / start-pulseaudio-x11
- / usr / bin / start-pulseaudio-kde
Algunos administradores de sesión gráficos ejecutan automáticamente scripts de inicio automático de FreeDesktop.org en el inicio de sesión del usuario. El script de inicio automático de PulseAudio, a su vez, le dice a los administradores de sesiones gráficas que ejecuten el script de inicio de PulseAudio apropiado:
/usr/bin/start-pulseaudio-x11
/usr/bin/start-pulseaudio-kde
Estas secuencias de comandos llaman al cliente PulseAudio / usr / bin / pactl para cargar los módulos PulseAudio, lo que genera el servidor PulseAudio como un subproducto (nota: si tiene autopawn configurado en "no", pactl respeta eso y no autopawn server PulseAudio).
Más detalles, en la página de FreeDesktop.org " Running PulseAudio ".
Algunos administradores de pantallas, además y en otras distribuciones, pueden iniciar PulseAudio (por ejemplo, SDDM, en ArchLinux . Aunque los mantenedores pueden haber resuelto esto, por ahora).
systemctl list-units -a
no incluye PulseAudio. xinit lanza scripts desde/etc/X11/Xsession.d
y, como se mencionó, tampoco incluye PulseAudio.