Answers:
执行:
sudo alsactl store
这应该保存alsamixer配置,/etc/asound.state
每次启动时都会将配置加载到其中。
alsamixer
和更改主级别(2)还原配置(3)检查是否已还原主级别。如果符合预期,请检查是否在系统启动时实际触发了还原(chkconfig alsa-utils
应显示alsa-utils on
)。
sudo alsactl store
时,出现以下错误alsactl: get_controls:567: snd_ctl_open error: Invalid argument
。
您还可以使用以下命令将调音台设置保存到自定义文件中alsactl
:
alsactl --file ~/.config/asound.state store
重新加载:
alsactl --file ~/.config/asound.state restore
/etc/asound.state
,并将重新加载行添加到/etc/rc.local
。
rc.local
(尽管即使是相对的,它也可以使用,因为它是同一用户..但不是)。谢谢,我希望我的提示也能对某人
SeppoErviälä的回答是正确的,但并不完整。如dma_k所述,最后man alsactl
明确指出,
/var/lib/alsa/asound.state(或使用-f标志指定的任何文件)用于存储声卡的当前设置。
palacsinit适当地指出,您可以使用以下命令将配置存储到文件中
alsactl --file ~/.config/asound.state store
并重新加载
alsactl --file ~/.config/asound.state restore
通过将第二行还原命令放置到.desktop文件中,可以进一步改善此效果。
您将需要运行nano ~/.config/autostart/alsarestore.desktop
,这将打开nano文本编辑器并创建~/.config/autostart/alsarestore.desktop
文件。~/.config/autostart/
目录中的条目用于在启动/图形登录时自动启动特定用户的程序和服务。
.desktop文件的内容应为以下内容:
[Desktop Entry]
Type=Application
Terminal=false
Name=alsarestore
Exec=alsactl --file ~/.config/asound.state restore
除其他外,您可以将配置存储在/etc/asound.state
并将其符号链接到/var/lib/alsa/asound.state
,但这不是一个建议,而是经过测试的解决方案
Exec
行更改.desktop
为Exec=bash -c "sleep 5 && alsactl --file ~/.config/asound.state restore"
。这将导致5秒钟的延迟,因此覆盖设置的所有内容都会先运行,然后再运行restore命令。sleep
如果仍然覆盖您的设置,请尝试使用这些值。
经过2个月的尝试使“ sudo alsactl存储”正常工作,我终于做到了。首先输入终端“ alsamixer”以进入alsamixer UI。然后进行所需的配置(例如,增加扬声器/耳机的音量或按键盘上的“ m”取消静音)。现在最重要的部分。在退出alsamixer之前,打开一个新的终端并执行:“ sudo su”以获取高特权(请谨慎使用在“ sudo su”模式下使用的命令,因为您可能会破坏系统),然后执行“ alsactl store”保存alsa设置。然后关闭两个终端,然后重新启动计算机。这样就可以了。
sudo su
。
Sergiy Kolodyazhnyy的解决方案为我工作。虽然我必须添加的修改Exec=bash -c "sleep 5 ...
。确实发生这种情况是因为PulseAudio正在修改ALSA。
另一个解决方案是在引导过程中禁用PulseAudio(请参见此处):
sudo cp /etc/pulse/client.conf /etc/pulse/client.confbackup
sudo nano /etc/pulse/client.conf
查找; autospawn = yes
,删除;
并将其更改为:
autospawn = no
尽管Ubuntu在启动时给我一个系统程序错误,但该解决方案也对我有用。因为我讨厌这种消息,所以我使用了第一个解决方案。
Alsa-Json-Gateway https://github.com/fulup-bzh/AlsaJsonGateway支持通过JSON / REST API存储/恢复声卡会话
/var/lib/alsa/asound.state
。还有其他原因导致它无法正常工作吗?