Il semble que tout processus lié à la famille libpulse * d'objets partagés - avant ou après l'exécution de X et du gestionnaire de fenêtres i3 - puisse implicitement générer automatiquement le serveur PulseAudio, sous votre processus utilisateur, comme sous-produit des tentatives d'interface avec le sous-système audio. . Le créateur de PulseAudio, Lennart Poettering, semble le confirmer, dans un e-mail du 29/05/2015 à la liste de diffusion systemd-devel :
"pulseaudio n'est généralement pas un service système mais un service utilisateur. À moins que votre session utilisateur ne soit entièrement convertie pour être gérée par systemd aussi (ce qui est peu probable), systemd n'est donc pas du tout impliqué dans son démarrage.
"PA est généralement démarré à partir du script ou du service de configuration de session. Dans Gnome, c'est gnome-session, par exemple. Il est également généré automatiquement à la demande si les bibliothèques sont utilisées et notez qu'il est manquant."
Par exemple, sur Debian Stretch (test), le navigateur Web IceWeasel établit un lien vers deux objets partagés libpulse *: 1) libpulsecommon-7.1.so; et 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
Vous pouvez voir quels processus en cours d'exécution sont liés à libpulse *. Par exemple, obtenez d'abord une liste des objets partagés libpulse *, puis exécutez lsof sur chacun (note: cela vient de Debian Stretch (Testing), donc votre sortie peut différer):
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
Pour dire à ces processus de ne pas générer automatiquement PulseAudio, éditez ~ / .config / pulse / client.conf et ajoutez une ligne
autospawn = no
PulseAudio et ses bibliothèques respectent généralement ce paramètre.
La liaison libpulse * en exécutant des processus peut également indiquer pourquoi PulseAudio réapparaît si rapidement. La page FreeDesktop.org, " Running PulseAudio ", semble le confirmer:
"... généralement une application en arrière-plan se reconnecte immédiatement, ce qui entraîne le redémarrage immédiat du serveur."
Vous semblez indiquer que vous démarrez le gestionnaire de fenêtres i3 via la console (en exécutant xinit) et que vous n'utilisez pas de gestionnaire d'affichage ou d'environnement de bureau. Le reste de cette réponse détaille les informations pour ceux qui utilisent GNOME, KDE, etc.
INFORMATIONS SUPPLÉMENTAIRES, POUR GNOME / KDE AUTOSTART
Le package PulseAudio (5.0-13), dans Debian Jessie (Stable) amd64, installe les quatre fichiers système suivants :
- /etc/xdg/autostart/pulseaudio-kde.desktop
- /etc/xdg/autostart/pulseaudio.desktop
- / usr / bin / start-pulseaudio-x11
- / usr / bin / start-pulseaudio-kde
Certains gestionnaires de sessions graphiques exécutent automatiquement les scripts de démarrage automatique de FreeDesktop.org lors de la connexion de l'utilisateur. Le script de démarrage automatique PulseAudio, à son tour, indique aux gestionnaires de sessions graphiques d'exécuter le script de démarrage PulseAudio approprié:
/usr/bin/start-pulseaudio-x11
/usr/bin/start-pulseaudio-kde
Ces scripts appellent le client PulseAudio / usr / bin / pactl pour charger les modules PulseAudio, ce qui engendre le serveur PulseAudio en tant que sous-produit (remarque: si vous avez défini la création automatique sur "non", pactl respecte cela et ne réapparaîtra pas automatiquement le serveur PulseAudio).
Plus de détails, sur la page FreeDesktop.org " Running PulseAudio ".
Certains gestionnaires d'affichage, en plus et dans d'autres distributions, peuvent démarrer PulseAudio (par exemple, SDDM, sur ArchLinux . Bien que les responsables aient résolu ce problème, à ce jour).
systemctl list-units -a
n'inclut pas PulseAudio. xinit lance des scripts à partir de/etc/X11/Xsession.d
et comme mentionné, il n'inclut pas non plus PulseAudio.La réponse donnée par Thushi / Carla Schroder (voir la réponse suivante) fonctionne toujours bien après une mise à niveau de Debian Wheezy vers Jessie. J'ai obtenu l'erreur suivante après avoir recherché mes messages de démarrage (l'erreur est répertoriée à la dernière ligne).
pulseaudio-daemon a été démarré deux fois. Une fois par le rtkit-daemon et les autres fois par GNOME / KDE AUTOSTART ou une autre application. Quoi qu'il en soit dans /etc/pulse/client.conf
résolu mon problème. La seule chose que je ne peux pas confirmer, c'est qu'il n'y a plus de scripts de démarrage dans les répertoires /etc/rcX.d. Assez clair car le rtkit-daemon fait le travail avec l'interaction de systemd.
la source