我使用的是 Debian 8.7。我通常选择要使用的声卡,并通过“设置”中的声音选项禁用声音警报。然而,这些永远不会被保存,重新启动时我必须进入“设置”并每次重新设置它们。有没有办法保存声音设置,以便不必每次重新启动都执行此操作?以下是inxi
卡和驱动程序的信息:
Audio: Card-1 Advanced Micro Devices [AMD/ATI] Cypress HDMI Audio [Radeon HD 5800 Series]
driver: snd_hda_intel
Card-2 Creative Labs SB X-Fi driver: snd_ctxfi
Card-3 Intel 82801JI (ICH10 Family) HD Audio Controller
driver: snd_hda_intel
Sound: Advanced Linux Sound Architecture v: k3.16.0-4-amd64
以及内容/var/lib/alsa/asound.state
答案1
让我们整理一下各种声音设置。
您的声音硬件由 ALSA 内核驱动程序控制,ALSA 库提供对这些驱动程序的访问,并且有各种音量/静音控制,您可以使用alsamixer
或进行更改amixer
。其中一些设置也可能通过 Gnome 公开。我通常不理会它们,只有在某些东西不起作用时才进行修改。
您可以使用 和 保存和恢复这些设置alsactl store
,alsactl restore
Debian 软件包alsa-utils
包含一个可以从 恢复这些设置的脚本/var/lib/alsa/asound.state
。
Pulseaudio 在 ALSA 之上运行。您可以pavucontrol
通过其他方式更改 Pulseaudio 设置。 Pulseaudio 会记住一些设置,但没有通用的方法来存储或恢复它们;如果你想让 Pulseaudio 设置在启动时出现,你必须修改 Pulseaudio 设置。
由于我不运行 Gnome 桌面,所以我不知道“禁用声音警报”实际上是做什么的。它可能是 Gnome 设置,在这种情况下,您必须弄清楚如何在启动时恢复 Gnome 设置。 Gnome 设置数据库有各种实用程序,例如dconf
和gsettings
,但用法显然随着版本的不同而发生了变化,我永远无法完全理解一切是如何工作的。
因此,如果您主要对“禁用声音警报”感兴趣,您需要弄清楚它到底做了什么以及它改变了什么。
编辑:
所以音效设置绝对是 Gnome 的东西,所以你需要研究如何使 Gnome 设置永久化,或者在启动时设置它们。
alsa-utils
通过为 SysV Init ( /etc/init.d/alsa-utils
) 和 systemd ( /lib/systemd/system/alsa-*
) 提供脚本来恢复启动时的设置,这些脚本基本上调用alsactl restore /var/lib/alsa/asound.stat
)。因此,当您alsactl store
以 root 身份调用时,它会将当前设置写入此文件,并且它们将在启动时恢复。
Gnome 菜单中显示的“选定”输出可能是默认 Pulseaudio 接收器的包装器。您可以设置此接收器pacmd set-default-sink
(用于pacmd list-sist-sinks | grep name:
列出接收器的名称),我pavucontrol
也认为在 中。 Pulseaudio 会记住它。也有可能这又是一个 Gnome 设置,它覆盖了 Pulseaudio 的功能。
答案2
我将发布为我解决问题的方法,这是这里问题的最佳答案:
https://askubuntu.com/questions/398030/change-default-sound-device
使用这个和提供的帮助德克特我采取的步骤是:
pacmd list-cards
- 这给了我的 X-Fi 作为索引 2。
配置文件设置实际上与上面链接的答案中的设置相同,即2 output:analog-stereo
.然后我输入以下内容pacmd set-card-profile 2 output:analog-stereo
然后我添加了
set-card-profile 2 output:analog-stereo
set-default-sink 2
到最后/etc/pulse/default.pa
重新启动时,X-Fi 仍被选中,无需在声音中进行任何更改即可重新选择该卡。
答案3
alsactl store
应存储混音器设置。不确定它们是否在 Debian 中默认启动时加载,但可以使用命令恢复alsactl restore
。