如何修复 Ubuntu 中的无声音问题

Ubuntu 用户在安装 Ubuntu 或升级到新版本后经常面临的一个问题是声音问题,或者更具体地说,是“无声音”问题。 这可能由于多种原因而发生。 有时它与扬声器设置中的错误配置有关,或者您的硬件可能没有得到很好的支持。

对于大多数人来说,这通常是一个很容易解决的问题。 这是因为大多数问题源于系统上运行的服务的问题。 在本文中,我们将介绍一些您可以尝试的简单修复。 您不一定要全部尝试。 只需从列表顶部开始,然后逐步向下。

内容

为 PulseAudio 安装音量控制

PulseAudio 是 Ubuntu 以及其他一些默认声音服务。 它是开源的并且通常是可靠的,与 ALSA 和 OSS 驱动程序一起使用,以确保您的系统生成的声音信号能够传递到您的扬声器。

但是,虽然应用程序和桌面环境带有自己的 PulseAudio 音量控制,但它并不是那么精细,并且不允许您单独控制每个播放流。 Pavucontrol 让您可以更好地控制 PC 上的每个音频设备,因此您可以使用这些滑块来确保您的扬声器或耳机音量设置为应有的音量。

安装 pavucontrol,打开终端并输入以下命令:

之后,运行 pavucontrol 从终端或在桌面环境的启动菜单中查找“PulseAudio Volume Control”。 转到“输出设备”选项卡并确保选择了您的默认扬声器。

检查您的扬声器设置

在您的 Ubuntu 机器上遇到声音问题时,您首先需要检查您的耳机和扬声器是否存在连接问题。 可能是音频线连接到了错误的端口或根本没有连接。

如果您使用的是蓝牙设备,请检查它是否已正确配对。 不要忘记查看设备的音量控制,以确保它们处于可接受的水平。 您还应该确认您的计算机上的输出音量没有静音,并且选择了正确的输出设备。

ubuntu-声音问题-1

检查 ALSA 混合器

在后台 PulseAudio 使用 ALSA,这是一个直接控制您的声音设备的内核模块。 如果您需要对 ALSA 级别的音量进行更细粒度的控制,请按照以下步骤操作:

  1. 打开终端。
  2. 类型 alsamixer 并按下 Enter 钥匙。 您将在终端中看到以下输出。
ubuntu 声音问题 2
  1. 按 F6 选择正确的声卡。 对我来说,默认设置很好,但如果它不起作用,请随意尝试其他选项。
  2. 使用向左箭头和向右箭头键选择音量控制。 当前选中的项目在底部显示为红色。
  3. 使用向上箭头和向下箭头键来增加和减少每个控件的音量。
  4. 当调音台控制静音时,“MM”出现在音量条下方。 请注意,条形图可以 100% 满但仍处于静音状态,因此请检查这一点。 您可以通过按 m 键取消静音控制。 这会将“MM”更改为“OO”。
  5. 要退出 alsamixer,请按 Esc 键。

笔记:当您将某个控件静音或取消静音时,pulseaudio 可能会拾取它并对其他控件进行静音和取消静音。 在退出之前,请务必确认相关控件以及主控件已取消静音。

重新加载 ALSA

如果声音问题仍然存在,您可以尝试的另一件事是重新加载 ALSA。 为此,请在终端中使用以下命令:

输出如下图所示。

ubuntu 声音问题 3

完成后,如果您仍然无法让声音正常工作,请尝试

如果 pulseaudio 没有记录模块已重新加载,则在重新加载 ALSA 后您可能会遇到问题。

如果您仍然没有收到音频,请直接尝试这个一次性 ALSA 命令:

重新安装 ALSA 和 PulseAudio

如果上述方法没有解决您的问题,请尝试按照以下方式重新安装 ALSA 和 PulseAudio。 打开终端并输入以下命令:

再次重新加载 ALSA 并重新启动计算机。

高级故障排除

要在所有其他方法都失败后正确排除音频故障,我们必须稍微弄脏一点,并进行更高级的故障排除:

您的输出可能会触发 ALSA 但不会触发 PulseAudio

最终,如果 PulseAudio 将输出静音,那么 ALSA 说什么都没关系。 输出到您设备的声音将通过 ALSA 进行处理,但不会通过 PulseAudio 提供给它们。

为了解决这个问题,我们需要在主音量发生变化时强制 ALSA 与 PulseAudio 对话,以确保后者跟随。

出于某种奇怪的原因,音量只能与 ALSA 交互的设备也会与 PulseAudio 交互。

你确定这不仅仅是一个应用程序吗?

一个行为不端的应用程序可能会导致比您想象的更多的问题,这会让您感到惊讶。 它甚至可能是您没有打开的应用程序!

要使用音频控件查看所有内容,请键入:

如果您想对其进行更多手术,请键入:

Ubuntu 音频接收器输入

就我而言,如图所示, Firefox 是我唯一在听的东西。 如果你用过 grep 要缩小终端中的输出范围,请再次使用原始命令并注意值“静音:”、“索引:”和“音量:”。

您可能在应用程序中有音量,但它仍然可以静音或为零音量!

要修复静音的应用程序,请键入(替换 application_index 使用您在“index:”中找到的索引号):

要修复具有异常低容量的应用程序,请键入:

挂起/睡眠后恢复时没有音频

有时 PulseAudio 只是没有心情与您的计算机的其余部分一起醒来。 在这种情况下,运行

将您的音频从死里复活,但不要太兴奋。 这将无法在再次重新启动或挂起/睡眠后继续存在。 仔细遵循这个迷你指南,让问题永久消失:

  1. 在终端中,键入

创建一个 systemd 服务管理器文件。

  1. 打开文件进行编辑:

将其粘贴(Ctrl + Shift + V 用于终端粘贴)到其中:

  1. 按 Ctrl + X 退出并在提示中按 Y 询问您是否要保存修改后的缓冲区。
  2. 键入以下内容将其注册为 systemd 服务。

请记住将 your_username 替换为适当的值。

你胆怯吗?

如果您在 Ubuntu 中运行 timidity 包(通过运行检查 apt search timidity 并检查 [installed] 在相应条目的末尾),由于它处理音频处理的时髦方式,您可能会在运行 PulseAudio 时遇到问题。

为了让胆怯正常运行,首先将其添加到自动启动(有时在 GNOME 等桌面环境中称为启动应用程序)并将运行应用程序的命令修改为:

更进一步,键入以下内容以将 root 添加到脉冲访问组

重新启动后,您的音频应该可以正常工作。 如果它仍然失败,那么唯一可行的解​​决方案是从 Ubuntu 中移除胆怯。

现在,您将拥有一项服务,该服务仅在您暂停后恢复时运行,一旦完成工作就会立即关闭以避免增加臃肿。

经常问的问题

1. 我可以删除 ALSA 并保留 PulseAudio 吗?

在这里要非常小心! PulseAudio 需要一个内核级的音频模块才能工作。 如果你打算用在内核中运行的其他东西(比如 Open Sound System)来替换 ALSA,那么一定要继续这样做。 该过程比更换用于网络的 Realtek 内核模块要复杂一些,因此请注意,您可能会坐很长时间来解决问题。

2. PulseAudio 有替代品吗?

是的! PulseAudio 最流行的(也是最可行的,如果您打算使用桌面的话)替代品是 PipeWire。 它包含对蓝牙设备的更好集成支持,并改进了 PulseAudio 处理采样和后处理的不稳定方式。 现在许多发行版都可以在官方存储库中使用它,并且近年来它的稳定性有了显着提高。

但是,如果您想对音频进行更专业的设置,则可能需要选择 JACK 之类的东西。

3. 我可以将 PulseAudio 与其他服务一起运行吗?

虽然某些服务具有库和设置选项以使 PulseAudio 与它们一起工作,但强烈建议您一次只在系统上使用一项服务。 大多数服务只会与 PulseAudio 竞争您系统的应用程序,并且可能会导致不可预知的行为。 如果不完全摆脱 PulseAudio,其他人根本无法工作。 (PipeWire 使用 pipewire-pulse 服务,它取代 pulseaudio.)

希望我们在这里提供的建议能让声音再次在 Ubuntu 上运行,这样您就可以重新开始享受您的操作系统了。 您是否尝试过将网站变成 Linux 中的应用程序并将您的 Android 手机屏幕投射到 Linux 上?

订阅我们的新闻!

我们最新的教程直接发送到您的收件箱

注册所有时事通讯。 注册即表示您同意我们的隐私政策并且欧洲用户同意数据传输政策。 我们不会共享您的数据,您可以随时取消订阅。 订阅