ดูเหมือนว่ากระบวนการใด ๆ ที่เชื่อมโยงไปยังตระกูล libpulse * ของวัตถุที่ใช้ร่วมกัน - ไม่ว่าจะก่อนหรือหลังการเรียกใช้ X และตัวจัดการหน้าต่าง i3 - อาจจะเป็นอัตโนมัติโดยอัตโนมัติเซิร์ฟเวอร์ PulseAudio ภายใต้กระบวนการผู้ใช้ของคุณ . ผู้สร้าง PulseAudio Lennart Poettering ดูเหมือนจะยืนยันสิ่งนี้ในอีเมล 2015-05-29 ไปยังรายชื่อผู้รับจดหมาย systemd-devel :
"โดยทั่วไป pulseaudio ไม่ใช่บริการระบบ แต่เป็นบริการผู้ใช้เว้นแต่ว่าเซสชันผู้ใช้ของคุณจะถูกแปลงเป็น systemd ให้จัดการด้วยเช่นกัน (ซึ่งไม่น่าเป็นไปได้) systemd จึงไม่เกี่ยวข้องกับการเริ่มต้นเลย
"PA มักเริ่มต้นจากสคริปต์หรือบริการการตั้งค่าเซสชันใน Gnome นั่นคือ gnome-session เช่นกันนอกจากนี้ยังมีการวางคำสั่งอัตโนมัติตามความต้องการหากใช้ไลบรารีและสังเกตว่ามันหายไป"
ตัวอย่างเช่นบน 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 (การทดสอบ) ดังนั้นผลลัพธ์ของคุณอาจแตกต่างกัน):
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
หากต้องการบอกกระบวนการเหล่านี้ไม่ให้ Autospawn PulseAudio ให้แก้ไข ~ / .config / pulse / client.conf และเพิ่มบรรทัด
autospawn = no
PulseAudio และห้องสมุดต่างเคารพการตั้งค่านั้นโดยทั่วไป
การเชื่อมโยง libpulse * ด้วยกระบวนการทำงานอาจบ่งบอกว่าทำไม PulseAudio จึงตอบสนองอย่างรวดเร็ว หน้า FreeDesktop.org " Running 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 / เริ่มต้น PulseAudio-x11
- / usr / bin / เริ่มต้น PulseAudio ของ KDE
ผู้จัดการเซสชันแบบกราฟิกบางตัวจะเรียกใช้สคริปต์ Autostart ของ FreeDesktop.org โดยอัตโนมัติเมื่อเข้าสู่ระบบของผู้ใช้ ในทางกลับกันสคริปต์ Autostart ของ PulseAudio จะบอกผู้จัดการเซสชันแบบกราฟิกให้เรียกใช้สคริปต์เริ่มต้นของ PulseAudio ที่เหมาะสม:
/usr/bin/start-pulseaudio-x11
/usr/bin/start-pulseaudio-kde
สคริปต์เหล่านี้เรียกลูกค้า PulseAudio / usr / bin / pactl เพื่อโหลดโมดูล PulseAudio ซึ่งวางไข่เซิร์ฟเวอร์ PulseAudio เป็นผลพลอยได้ (หมายเหตุ: หากคุณตั้งค่า autospawn เป็น "ไม่" pactl จะเคารพสิ่งนั้นและจะไม่ใช้เซิร์ฟเวอร์ PulseAudio โดยอัตโนมัติ)
รายละเอียดเพิ่มเติมได้ที่หน้า FreeDesktop.org " Running PulseAudio "
ผู้จัดการจอแสดงผลบางส่วนนอกจากนี้และในดิสทริบิวชันอื่น ๆ อาจเริ่มต้น PulseAudio (ตัวอย่างเช่นSDDM บน ArchLinuxแม้ว่าผู้ดูแลระบบอาจแก้ไขปัญหานี้ได้ในตอนนี้)
systemctl list-units -a
ไม่มี PulseAudio xinit เปิดตัวสคริปต์จาก/etc/X11/Xsession.d
และตามที่กล่าวไว้มันไม่รวม PulseAudio