Здається, що будь-який процес, що посилається на сімейство об'єктів libpulse * із спільними об'єктами - до або після запуску X та менеджера вікон i3 - може неявно автоматично відкрити сервер PulseAudio під вашим користувацьким процесом як побічний продукт спроб взаємодії з аудіопідсистемою . Творець PulseAudio Lennart Poettering, схоже, підтверджує це в електронному листі 2015-05-29 до списку розсилки systemd-devel :
"pulseaudio, як правило, не є системною службою, а службою для користувачів. Якщо ваш сеанс користувача повністю не перетворений, щоб керувати системою теж (що малоймовірно), systemd, таким чином, зовсім не задіяний при його запуску.
"PA зазвичай починається з сценарію налаштування сеансу або сервісу. Наприклад, у Gnome це gnome-сесія. Він також автоматично породжується за запитом, якщо використовуються бібліотеки, і зауважте, що він відсутній."
Наприклад, на Debian Stretch (Тестування) веб-браузер IceWeasel посилається на два об’єкти libpulse *, що поділяються: 1) libpulsecommon-7.1.so; і 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
Ви можете побачити, які запущені процеси посилаються на libpulse *. Наприклад, спочатку отримайте список об’єктів, що поділяються libpulse *, а потім запустіть lsof на кожному (зверніть увагу: це відбувається від Debian Stretch (Тестування), тому ваш вихід може відрізнятися):
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
Щоб сказати цим процесам не автоматизувати PulseAudio, відредагуйте ~ / .config / pulse / client.conf та додайте рядок
autospawn = no
PulseAudio та його бібліотеки взагалі поважають цю установку.
Посилання libpulse * за допомогою запущених процесів також може вказувати, чому PulseAudio так швидко відновлюється. Сторінка FreeDesktop.org, " Запуск PulseAudio ", схоже, підтверджує це:
"... як правило, деякі фонові програми негайно відновляться, і сервер негайно перезапускається."
Ви, схоже, вказуєте на те, що запускаєте менеджер вікон i3 через консоль (за допомогою xinit) і не використовуєте диспетчер дисплеїв або середовище робочого столу. У решті цієї відповіді міститься інформація про тих, хто використовує GNOME, KDE тощо.
ДОДАТКОВІ ІНФОРМАЦІЇ ДЛЯ GNOME / KDE AUTOSTART
Пакет PulseAudio (5.0-13) в Debian Jessie (Stable) amd64 встановлює наступні чотири системні файли :
- /etc/xdg/autostart/pulseaudio-kde.desktop
- /etc/xdg/autostart/pulseaudio.desktop
- / usr / bin / start-pulseaudio-x11
- / usr / bin / start-pulseaudio-kde
Деякі менеджери графічних сеансів автоматично запускають сценарії автозапуску FreeDesktop.org під час входу в систему. Сценарій автозапуску PulseAudio, у свою чергу, повідомляє менеджерам графічних сесій запустити відповідний сценарій запуску PulseAudio:
/usr/bin/start-pulseaudio-x11
/usr/bin/start-pulseaudio-kde
Ці сценарії викликають клієнта PulseAudio / usr / bin / pactl для завантаження модулів PulseAudio, який породжує сервер PulseAudio як побічний продукт (зауважте: якщо для автоматичного спасена встановлено значення "ні", Pactl поважає це і не буде автоматично розгорнутий сервер PulseAudio).
Детальніше на сторінці FreeDesktop.org " Запуск PulseAudio ".
Деякі менеджери дисплеїв, на додачу та в інших дистрибутивах, можуть запустити PulseAudio (наприклад, SDDM, на ArchLinux . Хоча технічне обслуговування, можливо, вже вирішило це).
systemctl list-units -a
, не включає PulseAudio. xinit запускає скрипти з/etc/X11/Xsession.d
і, як згадувалося, він також не включає PulseAudio.