如何在 Linux 中安装和配置 PipeWire
自 2017 年崭露头角以来,PipeWire 一直将自己视为取代 PulseAudio 的有力竞争者,但它在稳定性方面仍有很多问题需要解决。 现在它已经建立了良好的声誉,成为最成熟的 iOS 语音服务 Linux 这么多年后,用户现在很好奇升级到 PipeWire 是否真的值得。 在本文中,我们将为您提供有关 PipeWire 与 PulseAudio 优势的最新信息,并向您展示如何在您选择的情况下将其正确安装到您的系统中。 通过执行上述步骤,您将了解如何在 Linux 中安装和配置 PipeWire。
什么是管线?
Linux 上的音频始终遵循分层结构:您安装一个驱动程序,它使硬件工作,但应用程序仍然希望以自己的方式与它对话。 为此,服务器充当用户空间中的中介,与内核“对话”,然后内核与计算机对话。
Advanced Linux Audio Architecture (ALSA) 在您的应用程序和内核之间扮演着一个优秀、简单的中间人的角色,但是如果您想要更复杂一点,您需要一个叫做音频服务器的东西。
PulseAudio 和 PipeWire 都在内核所做的事情之上添加了一个层以提供许多功能。 它们允许多个应用程序流式传输音频,提供详细的混音器控制功能,甚至允许以与商业操作系统提供的应用程序套件功能相媲美甚至超过的方式动态地对音频流进行后处理。
两者之间的区别在于 PipeWire 层添加了视频流管理等其他功能,同时还消除了一些使新用户使用 PulseAudio 不愉快的问题。
自 2017 年推出以来,PipeWire 的稳定性问题逐渐消失。 它现在是许多发行版的默认音频服务器,包括 Fedora 和基于 Manjaro 的 拱 、EndeavorOS、Garuda,甚至在 Ubuntu 22.10 中也看到了介绍。
对于大多数人来说,这种变化是如此的顺利,以至于他们只是因为他们在系统上使用音频的能力得到了扩展而感受到了这一点,这证明了它长期以来作为可靠服务的声誉,作为对旧 PulseAudio 框架的直接升级。
虽然很容易认为升级到 PipeWire 是一件无需动脑筋的事情,但我们应该退后一步,深入研究该决定背后的细微差别,这样您就可以更清楚地了解如果您采取这一步,您将面临什么:
正数
- PipeWire 对许多以前无法在 PulseAudio 中完全工作的蓝牙音频设备提供广泛的支持。 如果您的蓝牙设备无法与您的发行版一起正常工作,执行此步骤可能会有所帮助。
- 大量发行版已经开始将 PipeWire 作为它们的默认音频服务,并且它在官方存储库中为您遇到的任何内容提供了大量支持。
- 当同时将音频流式传输到多个设备时,PipeWire 可以更有效地处理延迟。
- 后来的处理器,如 EasyEffects(以前称为 PulseEffects)已在其版本中放弃了 PulseAudio 支持或计划很快这样做,因此有必要转向 PipeWire 以保持这些应用程序为您提供的灵活性。
- 这些功能更适合想要进入更专业的音频设置和应用程序的人。
- 它支持视频流管道,允许屏幕共享应用程序享受更强大和安全的环境。
- PipeWire 服务套件附带 pipwire-pulse,它扩展了对使用 PulseAudio API 和管理音频的应用程序的支持。
- 它不太可能在高 CPU 负载下崩溃。
呸呸呸
- 配置并不总是直接从 PulseAudio 转换而来。 你将不得不学习一个全新的作曲系统。
- PipeWire 没有任何直观的连接逻辑,这意味着它需要另一个服务来侦听音频输出并正确路由它。 这不一定是缺点,但可能会很烦人,因为它还需要您学习如何配置会话管理器以进行高级调整。
- 尽管随着本文的撰写,这种情况正在发生变化,但来自社区的文档和支持对于 PipeWire 而言仍然不如 PulseAudio 广泛。
如何安装 PipeWire
如果您想冒险在您的系统上安装 PipeWire,您必须首先确保您还没有运行它!
在终端中输入 pactl info 并查看它为您提供的信息 “服务器名称”. 如果他给你 “在 PipeWire 上” 在括号中,您实际上正在运行 PipeWire。
如果终端显示你 “脉冲音频” 只是没有遵循任何东西,这意味着您的系统没有运行 PipeWire。
1.备份你的系统
如果出现问题,请确保您有退路! 如果您尚未创建系统备份,请在继续之前先创建备份。 执行此操作的最简单方法是使用 Timeshift,但您可以自由使用您知道的任何其他实用程序来创建系统文件的完整备份。
2.安装服务
每个 PipeWire 安装都从基本服务开始。 这可能已经与您的发行版一起安装,但以防万一它未安装,您可以使用以下命令安装它。
在基于 Arch 的系统上:
sudo pacman -S 管道线 管道线-alsa
在基于 Ubuntu/Debian 的系统上:
sudo apt安装pipewire
3.安装会话管理器
PipeWire 没有自己的连接逻辑,所以你必须安装一个会话管理器。 WirePlumber 是一种提供更精细的配置以及可以增强您的体验的附加组件的工具:
在基于 Arch 的系统上:
sudo pacman -S 接线员
在基于 Ubuntu/Debian 的系统上:
sudo apt 安装 wireplumber
如果您喜欢更简单的版本或者您的发行版的官方存储库不包含 WirePlumber,您可以简单地安装 PipeWire Media Session:
在基于 Arch 的系统上:
sudo pacman -S pipeline-media-session
在基于 Ubuntu/Debian 的系统上:
sudo apt 安装 pipwire-media-session
4. 安装 PulseAudio 守护进程
由于大部分系统应用程序仍在向 PulseAudio 发送调用,如果您希望音频正常工作,则必须安装一个 PipeWire 守护程序来侦听 PulseAudio 内容。
在基于 Arch 的系统上:
sudo pacman -S pipwire-脉冲
在基于 Ubuntu/Debian 的系统上:
sudo apt 安装 pipwire-pulse
5.去除PulseAudio痕迹
如果由于与在此过程中安装的其他东西(通常是 pipwire-pulse)发生冲突而必须确认 PulseAudio 的删除,则可以跳过此步骤。
除此之外,从您的系统中删除 PulseAudio 现在很重要,这样它就不会尝试查询它。
在基于 Arch 的系统上:
sudo pacman -Rnspulseaudio
在基于 Ubuntu/Debian 的系统上:
sudo apt 删除 pulseaudio
6.加工服务
安装和卸载所有软件包后,就可以启动 PipeWire 了。
首先,删除剩余的 Pulseaudio 服务:
systemctl --user --now 禁用 pulseaudio.service pulseaudio.socket systemctl --user mask pulseaudio
激活 PipeWire 服务。 如果安装 WirePlumber:
systemctl --user --now 启用 pipewire pipwire-pulse wireplumber
如果您安装了 PipeWire Media Session,请使用:
systemctl --user --now 启用 pipewire pipwire-pulse pipwire-media-session
重新启动系统后,PipeWire 现在应该可以正常工作了!
提示:你想 制作 UBUNTU 看起来像 MACOS BIG SUR، .ليكالطريقة。
经常问的问题
Q1:我可以只使用 ALSA 吗?
回答。 您当然可以在您的系统上运行 ALSA(特别是如果您使用的是窗口管理器而不是桌面环境),但您可能不会喜欢它。 ALSA 一次只能播放一个音频流。 虽然这听起来不错,但这确实意味着您的系统在观看视频时尝试发出播放通知时可能会出现不可预测的行为。 使用 ALSA 更响亮的服务器更方便,但它肯定需要少量内存。
Q2:PipeWire 可以安装在 Linux Mint Cinnamon 中吗?
回答。 根本! Cinnamon 有一个可怕的时刻,当您完成正确的 PipeWire 安装后,它不会向您显示音频工具,但如果您严格按照这些说明进行操作,它会在您重新启动时再次弹出。 只要确保按照说明中的描述移除剩余的 PulseAudio,你就成功了!
Q3:如何解决睡眠后的声音问题?
回答。 如果您的计算机在您从睡眠模式中唤醒时停止了声音,很可能是因为 ALSA 未能正确初始化,偶尔会出现这种情况。 在这种情况下,只需使用以下命令手动启动 ALSA:alsactl init
完成后,所有音频问题都应该消失了!