mpd 在 systemd 下停止工作,在命令行上运行时工作

mpd 在 systemd 下停止工作,在命令行上运行时工作

昨天我的 MPD 停止工作了。到现在已经工作了好几个月了,但是选择音乐的时候却ncmpcpp没有声音输出。

今天我尝试停止 mpd:

$ sudo systemctl stop mpd
$ sudo systemctl stop mpd.socket

然后我尝试在命令行上交互式运行它:

$ sudo mpd -v --no-daemon --stdout

当我重新运行时ncmpcpp,这有效;可以播放音乐。我的主文件夹中没有 mpd conf 文件,因此我认为它应该使用/etc/mpd.conf与 systemd 相同的 conf 文件 ( )。

然后我查看了日志文件。他们展示:

Jun 14 10:06 : player: played "Orbital/The Middle Of Nowhere/01-Way Out -_.mp3"
ALSA lib pcm_dmix.c:1029:(snd_pcm_dmix_open) unable to open slave
Jun 14 10:06 : alsa_output: Failed to open "My ALSA Device" [alsa]: Failed to open ALSA device "default": Device or resource busy
Jun 14 10:06 : output: Failed to open audio output
Jun 14 10:06 : player: problems opening audio device while playing "Orbital/The Middle Of Nowhere/01-Way Out -_.mp3"

它看起来像是某种 ALSA 问题,但是......

  1. 为什么它只在使用 systemd 运行时影响我?
  2. 为什么它才刚刚开始成为一个问题(我认为我没有更新我的系统......)

我尝试列出声音设备的任何其他用户:

$ lsof /dev/snd/*
COMMAND    PID     USER   FD   TYPE DEVICE SIZE/OFF NODE NAME
pulseaudi 3992 gravelld  mem    CHR  116,3           460 /dev/snd/pcmC0D0p
pulseaudi 3992 gravelld   16u   CHR  116,8      0t0  521 /dev/snd/controlC1
pulseaudi 3992 gravelld   23u   CHR  116,8      0t0  521 /dev/snd/controlC1
pulseaudi 3992 gravelld   24u   CHR  116,2      0t0  459 /dev/snd/controlC0
pulseaudi 3992 gravelld   31u   CHR  116,2      0t0  459 /dev/snd/controlC0
pulseaudi 3992 gravelld   36u   CHR  116,2      0t0  459 /dev/snd/controlC0
pulseaudi 3992 gravelld   42u   CHR 116,17      0t0  576 /dev/snd/controlC2
pulseaudi 3992 gravelld   52u   CHR  116,2      0t0  459 /dev/snd/controlC0
pulseaudi 3992 gravelld   58u   CHR  116,3      0t0  460 /dev/snd/pcmC0D0p

gravelld是我的用户 - 与我可以在命令行上成功运行 mpd 的用户相同)。

相关内容