根本问题:由于某种原因,在启动时,Ubuntu 14.04 禁用(静音)了我的声卡上的 S/PDIF 输出。
这个问题及其答案表示sudo alsactl store
一旦我取消 S/PDIF 输出静音,就会存储 alsamixer 设置,但在启动时,S/PDIF 输出再次静音。
在/var/lib/alsa/asound.state
(粘贴箱)有一个 PDIF 条目,我已将其设置为“true”并保存;这已解决我的“Phantom Jack”的自动静音问题,但 asound.state 中没有其他“true”S/PDIF 条目可供我手动调整。
目录中还有一个空/var/lib/alsa/asound.state.lock
文件(11 字节,在 gedit 中为空白)/alsa/
。我应该处理这个问题吗?
答案1
我的电脑也出现了同样的问题:
看来 alsa 在启动期间有效地恢复了 SPDIF“未静音”状态,但当用户会话启动时 pulseaudio 会将其静音。
要验证 alsa 恢复是否正常,只需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
保存并关闭。
现在,编辑.profile
文件:
gedit .profile
在末尾添加以下行:
bash .unmute &
保存并关闭。
现在测试重新打开会话或重新启动。
笔记:在上面的 Mageia 链接中,他们使用 /etc/rc.localalsactl restore
在启动时运行,这也是可以的。但是使用.profile
amixer,不需要“sudo”,它会在您登录时每次启动会话时取消静音。
答案2
我适应了@laugeo 的回答解决我的耳机问题。
问题是耳机已设置为取消静音,但音量却是 00。
我希望它是 100,所以我添加了这个:/usr/bin/amixer -c 0 set Headphone playback 100% unmute
脚本.unmute
如下:
#!/bin/bash
sleep 10
/usr/bin/amixer -c 0 set Headphone playback 100% unmute
exit
如果您想取消静音并将音量设置为 100%,只需更改频道即可。例如对于主频道:
#!/bin/bash
sleep 10
/usr/bin/amixer -c 0 set Master playback 100% unmute
exit
答案3
当我运行时sudo alsactl store
它出现以下错误
alsactl: get_controls:567: snd_ctl_open error: Invalid argument.
我需要使用
amixer set Master 100 unmute
并且它完美地适用于当前选定的声卡。但是主通道在启动后总是再次静音,所以我创建了一个名为unmute.sh
并设置的脚本chmod 700
,以便其他用户无法运行它。我在脚本中填写了以下内容:
#!/bin/bash
amixer set Master 100 unmute
并将其保存到~/.kde/Autostart
目录中。如果您有 Kubuntu 或其他带有 KDE 的发行版,则该目录中的所有脚本将在启动时自动运行。
如果您没有 KDE,您可以尝试将amixer
命令添加到~/.profile
文件中。
答案4
是的,在我尝试了许多其他解决方案之后,它对我有用:
(根)打开 /et/pulse/default.pa
在包含 module-device-restore 的行开头添加 #
正确设置 alsamixer 取消所有静音
4 重启
非常感谢 !
hp600 Debian 11.7