如何修复 Linux 中扬声器发出的嗡嗡声

我使用笔记本电脑很长时间了,但最近才切换到台式机上,以便进行远程工作。

我注意到我的扬声器不断发出嗡嗡声。这很烦人,让我头疼。我开始着手解决这个问题。了解问题的根本原因非常有趣。

我将分享我在 Linux 中修复扬声器嗡嗡声的经验。我发现它可以在同一硬件上对 Ubuntu、Debian 和 Pop OS 都有效。

需要考虑的一件事是,如果本指南不适合你,你可能遇到了严重的硬件问题。对于大多数用户来说,给定的方案应该可以解决问题。

在尝试修复之前

我试图让事情变得容易安全地遵循。你可以尝试临时修复,如果有效,则将更改永久化。但是,最好使用 Timeshift 制作系统快照。如果你在出现故障时很容易惊慌失措,你可以将系统恢复到之前的状态。

另外,检查你的声卡。在我的例子中,它是 snd_hda_intel。对于 USB 卡,它可以是 snd_usb_audio。你必须根据你的声卡更改命令。

cat /proc/asound/modules

Linux 中扬声器发出嗡嗡声的原因

梳理了无数的论坛帖子和网站后,我了解了问题的根本原因。这是因为扬声器中的电容放电。它可以通过关闭声卡的省电设置来解决。

通过关闭省电,你允许系统在这些电容放电时为其充电。这类似于在一直充电时使用电话。

你可以使用给定的命令检查你的系统是否启用了声卡的省电设置:

cat /sys/module/snd_hda_intel/parameters/power_save

power saving setting in sound card making buzzing sound in linux

如果你像我一样输出是 1,那么省电功能已打开。因此,让我们看一下方案。

不用担心。这不会显著影响你的电池百分比,因为所示方法仅适用于声卡。

尝试修复嗡嗡声问题(临时)

我之所以包括临时方法是为了确定嗡嗡声是由于电容放电引起的,还是存在严重的硬件问题。

如果此临时方案有效,你可以继续使用永久方案。

第一步是切换到 root 用户:

sudo su

然后,执行给定的命令,它应该停止嗡嗡声直到下次启动:

echo 0 > /sys/module/snd_hda_intel/parameters/power_save

如果你使用的是 USB 声卡,则必须将 snd_hda_intel 替换为 snd_usb_audio,如下所示:

echo 0 > /sys/module/snd_usb_audio/parameters/power_save

如果上述技巧解决了问题,那么你必须使变更永久化。否则,下次重启系统时更改将丢失。

修复嗡嗡声问题(永久)

在这里,我将对内核参数进行更改。

将你的工作目录更改为 /etc/modprobe.d

cd /etc/modprobe.d

现在,创建一个名为 audio_disable_powersave.conf 的新文件,并使用给定命令使用 nano 文本编辑器打开:

sudo nano audio_disable_powersave.conf

并在该文件中放入以下行以永久关闭声卡中的省电设置:

options snd_hda_intel power_save=0

fix buzzing sound in linux

对于 USB 声卡,你需要使用 snd_usb_audio

options snd_usb_audio power_save=0

现在,保存更改并退出 Nano 文本编辑器 并按 Ctrl+X 键。重启你的系统,你就可以享受无噪音的工作空间。

总结

本指南解释了嗡嗡声的原因以及如何直接解决该问题。

同样,除了电容放电之外,你可能还有其他问题,因此你应该始终尝试临时方法。

让我知道你是否能够以这种方式解决 Linux 中扬声器发出的嗡嗡声。


via: https://itsfoss.com/buzzing-noise-speaker-linux

作者:Sagar Sharma 选题:lkxed 译者:geekpi 校对:wxy

本文由 LCTT 原创编译,Linux中国 荣誉推出