除非在 Debian Buster 中扎根,否则没有声音

Nic*_*iou 5 debian audio

我刚刚在我的 Debian SID 计算机上进行了 dist 升级,声音消失了。

我可以在 root 中播放音频文件,但不能以普通用户的身份播放。我已经检查过我在“音频”组中。我已经检查过运行alsamixer是否有任何内容被静音,但所有线路都已启动并正在运行。

这是我在计算机上的音频输出:

$ lspci  | grep Audio
00:1b.0 Audio device: Intel Corporation 8 Series/C220 Series Chipset High Definition Audio Controller (rev 05)
01:00.1 Audio device: NVIDIA Corporation GK107 HDMI Audio Controller (rev a1)
Run Code Online (Sandbox Code Playgroud)

我有一个未插入的 HDMI 输出(NVIDIA 控制器)。我的音频接头插在我的英特尔控制器上。我在运行alsamixer时可以看到这个驱动程序,但在pavucontrol输出设备中只能看到我显卡的 HDMI 输出。

在此处输入图片说明

列出我的音频接收器时,我只得到一个空设备:

$ pacmd list-sinks
1 sink(s) available.
  * index: 2
    name: <auto_null>
    driver: <module-null-sink.c>
    flags: DECIBEL_VOLUME LATENCY FLAT_VOLUME DYNAMIC_LATENCY
    state: IDLE
    suspend cause: 
    priority: 1000
    volume: front-left: 56362 /  86% / -3,93 dB,   front-right: 55706 /  85% / -4,23 dB
            balance -0,01
    base volume: 65536 / 100% / 0,00 dB
    volume steps: 65537
    muted: no
    current latency: 5,63 ms
    max request: 6 KiB
    max rewind: 6 KiB
    monitor source: 2
    sample spec: s16le 2ch 44100Hz
    channel map: front-left,front-right
                 Stéréo
    used by: 0
    linked by: 1
    configured latency: 40,00 ms; range is 0,50 .. 2000,00 ms
    module: 20
    properties:
        device.description = "Sortie factice"
        device.class = "abstract"
        device.icon_name = "audio-card"
Run Code Online (Sandbox Code Playgroud)

我不是很了解 Debian 中的声音系统是如何工作的,但我想我明白我的普通用户没有访问 Intel 芯片的权利。从这里开始,我被困住了,无法真正找出该怎么做......

编辑:

我设法通过在 alsamixer 中禁用自动静音来恢复声音。在系统更新期间,此设置已以某种方式更改。

但是重新启动后,问题又回来了,但自动静音仍然关闭。

感谢 dirkt 的回答,我想我已经找到了这个问题的根源:当以普通用户和 root 用户身份运行aplay -L 时,我注意到了一些差异:

$ aplay -L
default
    Playback/recording through the PulseAudio sound server
sysdefault:CARD=PCH
    HDA Intel PCH, ALC887-VD Analog
    Default Audio Device
$ sudo aplay -L 
default:CARD=PCH
    HDA Intel PCH, ALC887-VD Analog
    Default Audio Device
sysdefault:CARD=PCH
    HDA Intel PCH, ALC887-VD Analog
    Default Audio Device
Run Code Online (Sandbox Code Playgroud)

以简单用户身份运行时,默认卡似乎不一样。作为普通用户选择sysdefault而不是默认卡时,我可能会听到一些声音。

$ aplay -D sysdefault sound.wav
Run Code Online (Sandbox Code Playgroud)

但现在,我有点卡住了。我想我已经查明了问题的根源,但不知道如何解决它...

小智 7

我通过运行为我解决了这个问题:

sudo apt-get remove --purge timidity
Run Code Online (Sandbox Code Playgroud)

请确保这只会消除timiditytimidity-daemon。据我了解,守护进程在启动时会获取一些资源并阻止其他服务找到声卡。我认为胆怯与 MIDI 文件有关,因此请确保在卸载软件包时不需要它,并确保您知道要卸载的内容。

希望这可以解决某些用户的问题。解决上述问题后,您可能希望将来重新安装 timidity。