X 및 i3 창 관리자를 실행하기 전이나 후에 libpulse * 공유 객체 제품군에 연결하는 프로세스는 오디오 하위 시스템과의 인터페이스 시도의 부산물로 사용자 프로세스에서 암시 적으로 PulseAudio 서버를 자동 생성 할 수 있습니다. . PulseAudio 제작자 Lennart Poettering은 2015 년 5 월 29 일에 systemd-devel 메일 링리스트로 이메일을 보내이를 확인 합니다 .
"pulseaudio는 일반적으로 시스템 서비스가 아니라 사용자 서비스입니다. 사용자 세션이 systemd에 의해 관리되도록 완전히 변환되지 않는 한 (아마도) systemd는 시작과 전혀 관련이 없습니다.
"PA는 일반적으로 세션 설정 스크립트 또는 서비스에서 시작됩니다. Gnome에서는 그놈 세션입니다. 예를 들어 라이브러리가 사용되는 경우 필요시 자동으로 생성되며 누락되었습니다."
예를 들어, 데비안 스트레치 (테스트)에서 웹 브라우저 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를 실행하십시오 (참고 : 데비안 스트레치 (테스트)에서 제공되므로 출력이 다를 수 있음) :
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 창 관리자를 시작하고 표시 관리자 또는 데스크탑 환경을 사용하지 않는 것으로 보입니다. 이 답변의 나머지 부분은 그놈, KDE 등을 사용하는 사람들에 대한 정보를 자세히 설명합니다.
그놈 / KDE 자동 시작을위한 추가 정보
Debian Jessie (Stable) amd64의 PulseAudio (5.0-13) 패키지는 다음 네 가지 시스템 파일을 설치 합니다 .
- /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 "에서 확인할 수 있습니다.
일부 디스플레이 관리자 및 기타 배포판에서는 PulseLinux 를 시작할 수 있습니다 (예 : ArchLinux 에서 SDDM) . 유지 보수 담당자 가 지금까지이를 해결했을 수도 있습니다.
systemctl list-units -a
PulseAudio를 포함하지 않습니다. xinit/etc/X11/Xsession.d
는 위에서 언급 한 것처럼 스크립트를 시작 하고 PulseAudio도 포함하지 않습니다.