“连接到pulseaudio失败” - 也无法启动pulseaudio-x11

ein*_*lum 3 audio debian xorg pulse-audio devuan

我正在使用 Devuan ASCII (~= Debian Stretch)。在我的浏览器和媒体播放器中,音频似乎可以工作,或者至少可以播放。但是,如果我尝试运行pavucontrol进行一些设置(通常有效),它会告诉我:

连接到pulseaudio失败

如果是这种情况,那么 PulseAudio 应该再次自动生成,或者如果未配置,您应该手动运行 start-pulseaudio-x11。

所以,我不知道是否配置了 autospawn,但/etc/pulse/client.conf它说:

; autospawn = yes
Run Code Online (Sandbox Code Playgroud)

而且daemon.conf它没有提到自动生成。无论如何,它的名称中没有进程pulse,也没有内核模块。

snd以下是名称中包含的内核模块:

nd_hda_codec_hdmi     49152  2
snd_hda_codec_realtek    90112  1
snd_hda_codec_generic    69632  1 snd_hda_codec_realtek
snd_usb_audio         180224  0
snd_usbmidi_lib        28672  1 snd_usb_audio
snd_hda_intel          36864  1
snd_rawmidi            32768  1 snd_usbmidi_lib
snd_seq_device         16384  1 snd_rawmidi
snd_hda_codec         135168  4 snd_hda_intel,snd_hda_codec_hdmi,snd_hda_codec_generic,snd_hda_codec_realtek
snd_hda_core           86016  5 snd_hda_intel,snd_hda_codec,snd_hda_codec_hdmi,snd_hda_codec_generic,snd_hda_codec_realtek
snd_hwdep              16384  2 snd_hda_codec,snd_usb_audio
snd_pcm               110592  5 snd_hda_intel,snd_hda_codec,snd_usb_audio,snd_hda_core,snd_hda_codec_hdmi
snd_timer              32768  1 snd_pcm
snd                    86016  14 snd_hda_intel,snd_hwdep,snd_hda_codec,snd_usb_audio,snd_timer,snd_rawmidi,snd_hda_codec_hdmi,snd_hda_codec_generic,snd_usbmidi_lib,snd_seq_device,snd_hda_codec_realtek,snd_pcm
soundcore              16384  1 snd
usbcore               253952  8 uvcvideo,usbhid,snd_usb_audio,usb_storage,xhci_pci,snd_usbmidi_lib,uas,xhci_hcd
Run Code Online (Sandbox Code Playgroud)

因此,我尝试重新启动该服务,这就是我得到的结果:

$ start-pulseaudio-x11 
Connection failure: Connection refused
pa_context_connect() failed: Connection refused
Run Code Online (Sandbox Code Playgroud)

如果我以 root 身份尝试,我会得到:

# start-pulseaudio-x11
XDG_RUNTIME_DIR (/run/user/1000) is not owned by us (uid 0), but by uid 1000! (This could e g happen if you try to connect to a non-root PulseAudio as a root user, over the native protocol. Don't do that.)
Connection failure: Connection refused
pa_context_connect() failed: Connection refused
Run Code Online (Sandbox Code Playgroud)

我尝试过的另一件事:

$ pulseaudio --start --verbose
E: [pulseaudio] main.c: Daemon startup failed.
Run Code Online (Sandbox Code Playgroud)

但有一些有趣的事情正在发生:/var/log/syslog充满了越来越多的以下内容:

Jan 28 22:01:16 myhostname pulseaudio[22085]: [pulseaudio] cli-command.c: stat('/usr/share/pulseaudio/default.pa'): No such file or directory
Jan 28 22:01:16 myhostname pulseaudio[22085]: [pulseaudio] main.c: Failed to initialize daemon.
Jan 28 22:01:16 myhostname pulseaudio[22082]: [pulseaudio] main.c: Daemon startup failed.
Run Code Online (Sandbox Code Playgroud)

因此,重生尝试持续失败,并且缺少文件。

我应该怎么办?

SSi*_*ht3 5

我遇到了类似的问题,但是我没有 default.pa 文件。

我发现以下步骤有效。在终端中:

apt-get purge pulseaudio
Run Code Online (Sandbox Code Playgroud)

然后,在

$HOME/.config
Run Code Online (Sandbox Code Playgroud)

删除整个脉冲文件夹。

然后重新安装pulseaudio:

apt-get install pulseaudio
Run Code Online (Sandbox Code Playgroud)

启动时,如果从终端调用,pulseaudio 会抱怨它无法“打开 cookie 文件”,但它会重新创建整个文件夹结构。再次运行它,它将恢复正常操作并启用声音(希望)。