我正在使用Debian-Jessie,當我將筆記型電腦設定為休眠模式時,某些進程將按預期暫停,但在我再次啟動後,「pulseaudio」進程不再工作,當我嘗試使用以下命令播放一些音樂或影片時任何媒體播放器,如 VLC、SMPlayer 等,它們都會崩潰!
我作為當前用戶檢查了pulseaudio狀態:
pulseaudio --check
echo $?
它會傳回值 0,所以看起來沒問題!
當我嘗試殺死pulseaudio並重新啟動它時,什麼也不會發生:
pulseaudio --kill
pulseaudio --start
我嘗試使用 SYSKILL 訊號執行相同操作,但仍然沒有任何變更並且發生崩潰:
ps aux | grep pulseaudio
sudo kill 914
pulseaudio --start
以下是 syslog 中的相關日誌:
rtkit-daemon[915]: Successfully made thread 6881 of process 6881 (/usr/bin/pulseaudio) owned by '1000' high priority at nice level -11.
訊息:
[ 9903.006551] sound hdaudioC1D3: hda-codec: out of range cmd 3:5:707:ffffffff
我仍然不知道聲卡或音響系統有什麼問題;問題有可能來自另一個守護程式嗎?我不想每次休眠時都重新啟動系統。
答案1
剛剛找到答案,這個問題來自pulseaudio的「自動生成過程」功能
每次pulseaudio守護程式停止工作並且沒有進程時,它會嘗試自動產生一個進程,因此我們需要透過以下方式停止它:
cp /etc/pulse/client.conf ~/.config/pulse/
vim ~/.config/pulse/client.conf
然後透過刪除前導分號來取消註解“autospawn = yes”行,並將其變更為“autospawn = no”,然後儲存。
現在嘗試重新啟動pulseaudio
pulseaudio --kill
pulseaudio --start
現在一切都很好!