除了 alsactl store 之外,还有什么方法可以保存 alsamixer 设置吗?

Jea*_*ius 9 sound alsa spdif

根本问题:出于某种原因,在启动时,Ubuntu 14.04 禁用(静音)我声卡上的 S/PDIF 输出。

这个问题及其答案表明,sudo alsactl store一旦我取消了 S/PDIF 输出的静音,将存储 alsamixer 设置,但在启动时,S/PDIF 输出再次静音。

/var/lib/alsa/asound.statepastebin)中有一个 PDIF 条目,我已将其设置为“true”并保存;这导致解决了我的“Phantom Jack”的自动静音问题,但在 asound.state 中没有其他可以手动调整的“真实”S/PDIF 条目。

目录中还有一个空/var/lib/alsa/asound.state.lock文件(11 个字节,gedit 中为空白)/alsa/。这是我应该处理的事情吗?

lau*_*geo 9

我在我的电脑上
遇到了同样的问题:似乎 alsa 在启动期间有效地恢复了 SPDIF“未静音”状态,但是当用户会话开始时,pulseaudio 将其静音。
要验证 alsa restore 是否正常,只需sudo alsactl restore在终端中运行并查看它是否取消静音 SPDIF。
要验证是否是pulseaudio 是问题,只需运行pulseaudio -k以重新启动pulseaudio:您应该会看到SPDIF 已静音。

因为我不知道如何设置的PulseAudio不静音,这是激发了解决方法

  • 如果此命令取消 SPDIF 通道的静音,请尝试:
    amixer set IEC958 unmute
  • 如果是,请创建 .unmute 隐藏文件:
    gedit .unmute
    在其中粘贴 4 行:

    #!/bin/bash
    sleep 10 
    /usr/bin/amixer set IEC958 unmute 
    exit
    
    Run Code Online (Sandbox Code Playgroud)

保存并关闭。
现在,编辑.profile文件:
gedit .profile
在最后添加这一行:

bash .unmute &
Run Code Online (Sandbox Code Playgroud)

保存并关闭。

现在测试重新打开会话或重新启动。

注意:在上面来自 Mageia 的链接中,他们使用 /etc/rc.localalsactl restore在启动时运行,也可以。但是使用.profileamixer,不需要“sudo”,它会在每次登录的会话开始时取消静音。