Parece que qualquer processo vinculado à família libpulse * de objetos compartilhados - antes ou depois da execução do X e do gerenciador de janelas i3 - pode implicitamente gerar automaticamente o servidor PulseAudio, no processo do usuário, como um subproduto das tentativas de interface com o subsistema de áudio . O criador do PulseAudio, Lennart Poettering, parece confirmar isso, em um email de 29/05/2015 para a lista de discussão systemd-devel :
"o pulseaudio geralmente não é um serviço do sistema, mas um serviço do usuário. A menos que sua sessão do usuário seja totalmente convertida para ser gerenciada pelo systemd também (o que é improvável), o systemd não está envolvido com a inicialização.
"O PA geralmente é iniciado a partir do script ou serviço de configuração da sessão. No Gnome, é o gnome-session, por exemplo. Também é gerado automaticamente sob demanda se as bibliotecas forem usadas e observe que ela está ausente."
Por exemplo, no Debian Stretch (Testing), o navegador IceWeasel vincula-se a dois objetos compartilhados libpulse *: 1) libpulsecommon-7.1.so; e 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
Você pode ver quais processos em execução estão vinculados à libpulse *. Por exemplo, primeiro obtenha uma lista de objetos compartilhados libpulse * e, em seguida, execute lsof em cada um (nota: isso vem do Debian Stretch (Testing), portanto sua saída pode ser diferente):
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 dizer a esses processos para não gerar automaticamente o PulseAudio, edite ~ / .config / pulse / client.conf e adicione line
autospawn = no
PulseAudio e suas bibliotecas respeitam essa configuração, geralmente.
A ligação libpulse * pelos processos em execução também pode indicar por que o PulseAudio reaparece tão rapidamente. A página do FreeDesktop.org, " Running PulseAudio ", parece confirmar isso:
"... normalmente algum aplicativo em segundo plano será reconectado imediatamente, fazendo com que o servidor seja reiniciado imediatamente."
Você parece indicar que inicia o gerenciador de janelas i3 através do console (executando o xinit) e não usa um gerenciador de exibição ou ambiente de área de trabalho. O restante desta resposta detalha informações para aqueles que usam GNOME, KDE e assim por diante.
INFORMAÇÕES ADICIONAIS, PARA GNOME / KDE AUTOSTART
O pacote PulseAudio (5.0-13), no Debian Jessie (Stable) amd64, instala os quatro arquivos de sistema a seguir :
- /etc/xdg/autostart/pulseaudio-kde.desktop
- /etc/xdg/autostart/pulseaudio.desktop
- / usr / bin / start-pulseaudio-x11
- / usr / bin / start-pulseaudio-kde
Alguns gerenciadores de sessões gráficas executam automaticamente scripts de inicialização automática do FreeDesktop.org no login do usuário. O script de inicialização automática do PulseAudio, por sua vez, informa aos gerenciadores de sessões gráficas para executar o script de inicialização apropriado do PulseAudio:
/usr/bin/start-pulseaudio-x11
/usr/bin/start-pulseaudio-kde
Esses scripts chamam o cliente PulseAudio / usr / bin / pactl para carregar os módulos PulseAudio, que geram o servidor PulseAudio como um subproduto (nota: se você tiver o autospawn definido como "no", o pactl respeitará isso e não fará o autopreenchimento do servidor PulseAudio).
Mais detalhes, na página FreeDesktop.org " Running PulseAudio ".
Alguns gerenciadores de exibição, além e em outras distribuições, podem iniciar o PulseAudio (por exemplo, SDDM, no ArchLinux . Embora os mantenedores possam ter resolvido isso, até agora).
systemctl list-units -a
, não inclui o PulseAudio. O xinit inicia scripts/etc/X11/Xsession.d
e, como mencionado, também não inclui o PulseAudio.A resposta dada por Thushi / Carla Schroder (veja a próxima resposta) ainda está funcionando bem após uma atualização do debian wheezy para jessie. Recebi o seguinte erro após pesquisar minhas mensagens de inicialização (o erro está listado na última linha).
O pulseaudio-daemon foi iniciado duas vezes. Uma vez pelo rtkit-daemon e outras vezes pelo GNOME / KDE AUTOSTART ou outro aplicativo. De qualquer forma, a configuração no /etc/pulse/client.conf
resolveu meu problema. A única coisa que não posso confirmar é que não há mais scripts de inicialização em nenhum diretório /etc/rcX.d. Bem claro, porque o rtkit-daemon faz o trabalho com a interação do systemd.
fonte