共有オブジェクトのlibpulse *ファミリーにリンクするプロセスは、Xおよびi3ウィンドウマネージャーを実行する前または後に、オーディオサブシステムとのインターフェースの試みの副産物として、ユーザープロセスの下でPulseAudioサーバーを暗黙的に自動生成する可能性があります。PulseAudioのクリエイターであるLennart Poetteringは、systemd-develメーリングリストへの2015-05-29メールでこれを確認しているようです。
「pulseaudioは通常、システムサービスではなくユーザーサービスです。ユーザーセッションがsystemdによって管理されるように完全に変換されない限り(これはほとんどありません)、したがってsystemdは開始にまったく関与しません。
「PAは通常、セッションセットアップスクリプトまたはサービスから開始されます。たとえば、Gnomeではgnome-sessionです。ライブラリが使用されている場合はオンデマンドで自動生成され、欠落していることに注意してください。」
たとえば、Debian Stretch(テスト)では、WebブラウザーIceWeaselは2つの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ページ「Running PulseAudio」は、これを確認しているようです:
「...通常、一部のバックグラウンドアプリケーションはすぐに再接続し、サーバーがすぐに再起動します。」
コンソールから(xinitを実行して)i3ウィンドウマネージャーを起動し、ディスプレイマネージャーやデスクトップ環境を使用しないことを示しているようです。この回答の残りの部分では、GNOME、KDEなどを使用しているユーザーの情報を詳しく説明します。
GNOME / KDEの自動起動に関する追加情報
Debian Jessie(安定版)amd64のPulseAudioパッケージ(5.0-13)は、次の4つのシステムファイルをインストールします。
- /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サーバーを副産物として生成します(注:autospawnを「no」に設定している場合、pactlはそれを尊重し、PulseAudioサーバーを自動生成しません)。
詳細については、FreeDesktop.orgページの「Running PulseAudio」を参照してください。
さらに、他のディストリビューションのディスプレイマネージャーによっては、PulseAudio(ArchLinuxのSDDMなど)を起動する場合があります。メンテナーはこれを解決しているかもしれませんが)。
systemctl list-units -a
ようにPulseAudioは含まれていません。xinitは/etc/X11/Xsession.d
、前述のとおり、PulseAudioを含まないスクリプトを起動します。