PulseAudioは常に私のシステムで実行されており、競合が発生したり閉じられたときは常にすぐに再起動されます。しかし、私は実際に一度もスタートパルスオーディオ。
確認し/etc/init.d/
てもう一度/etc/X11/Xsession.d/
確認しましたが、systemctl list-units -a
PulseAudioが見つかりませんでした。
PulseAudioを実行しなくても魔法のように自然に始まるように見えるのはなぜですか。
私はxinitとi3ウィンドウマネージャでPulseAudio 5と一緒にDebian 8(jessie)を使用しています。
ベストアンサー1
共有オブジェクトのlibpulse *ファミリに接続するすべてのプロセス(Xおよびi3ウィンドウマネージャを実行する前または後)と対話しようとする副産物で、ユーザープロセスからPulseAudioサーバーを暗黙的に自動生成できます。オーディオサブシステムPulseAudioの創設者であるLennart Poetteringは、これを確認しているようです。2015-05-29 systemd-develメーリングリストにEメールを送信する:
"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 ページ、「実行パルスオーディオ」、これを確認するようです:
「...通常、一部のバックグラウンドアプリケーションはすぐに再接続され、サーバーはすぐに再起動されます。」
コンソールから(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のページをご覧ください。」実行パルスオーディオ」。
さらに、他のディストリビューションでは、一部のディスプレイマネージャがPulseAudioを起動することがあります。ArchLinuxのSDDM。管理者が今までこの問題を解決している可能性があります。