PipeWire 有什么用?为何卸载snap包后系统没有声音了?

最直白、Ubuntu 26.04 实际能用的方式讲清楚:PipeWire 就是现在 Linux 上新一代的音频 + 视频管理核心,替代了老的 PulseAudio 和 JACK。


一、PipeWire 到底有什么用?

简单说:管声音 + 管屏幕捕获

1. 管声音(主要用途)

  • 播放音乐、视频、系统提示音
  • 蓝牙耳机、音箱、耳机切换
  • 音量控制、应用单独音量
  • 低延迟音频(直播、编曲、打游戏)
  • 解决老 PulseAudio 卡顿、爆音、蓝牙连不上的问题

2. 管视频 / 屏幕捕获

  • OBS 录屏、直播
  • 屏幕共享(Zoom、Teams、浏览器会议)
  • 截图 / 录屏工具调用画面
  • Wayland 下必须靠它才能正常录屏

3. 对比老系统

  • 替代 PulseAudio(老音频服务)
  • 替代 JACK(专业音频)
  • 替代 v4l2 老视频框架

一句话:

Ubuntu 26.04 默认就是 PipeWire,你已经在用了,只是没感觉。


二、你怎么用?(日常完全不用命令)

正常使用方式(99% 场景)

你什么都不用干:

  • 插耳机 → 自动切换
  • 连蓝牙 → 自动出声
  • 调音量 → 系统面板直接调
  • 录屏 → 直接用系统录屏 / OBS

它在后台自动跑,属于系统底层服务。


三、常用命令(你可能会用到的)

1. 看是否在运行

执行下面命令,返回状态是在running的说明正常。

pipewire 服务正常运行
systemctl status --user pipewire pipewire-pulse wireplumber

2. 重启音频(解决爆音 / 无声 / 没声音)

systemctl --user restart pipewire pipewire-pulse wireplumber

3. 查看所有音频设备

pw-cli list-objects | grep node.name

大概看到如下信息:

 		node.name = "Dummy-Driver"
 		node.name = "Freewheel-Driver"
 		node.name = "alsa_output.pci-0000_00_1f.3.analog-stereo"
 		node.name = "alsa_input.pci-0000_00_1f.3.analog-stereo"
 		node.name = "Midi-Bridge"
 		node.name = "bluez_midi.server"
 		node.name = "alsa_output.pci-0000_01_00.1.hdmi-stereo"

4. 查看当前音频服务器

pactl info

出现 Server Name: PipeWire 就是正常。

5. 关闭 / 禁用(不推荐)

systemctl --user disable --now pipewire pipewire-pulse wireplumber

禁用后声音会直接没。


四、和 Snap 有什么关系?

  • Snap 应用必须通过 PipeWire 输出声音
  • Snap 没有自己的音频系统,全靠系统 PipeWire
  • 所以 Snap 确实 “绑定” 了 PipeWire,但不是捆绑它,是依赖PipeWire

五、如果卸载了snap后导致系统没有声音怎么办?

先说结论:卸载 snap 本身不会直接导致没声音,大概率误删 / 搞坏了 PipeWire 相关包或权限出问题。下面给出一套 “从最快→彻底” 的修复流程,直接复制执行即可(Ubuntu 26.04,PipeWire)。


1、先做 10 秒急救(最常见有效)

# 1. 重启 PipeWire 全家(必敲)
systemctl --user restart pipewire pipewire-pulse wireplumber

# 2. 删掉用户状态缓存(很多人靠这步恢复)
rm -rf ~/.local/state/{pipewire,wireplumber}

# 3. 重新加载用户服务
systemctl --user daemon-reload

执行完直接试声音。


2、检查是不是 “Dummy Output(虚拟输出)”

wpctl status
  • 看到 Sinks 下面有真实声卡 / 耳机,留意带星号的:wpctl set-default 设备号(设备号是 Sinks 里的数字),这命令可以选择输出设备。
  • 只有 Dummy Output:往下走。
wpctl status查看声卡列表状态信息

像我图中那样,skinks中选择了34内置音频输出,而下方的56GM107是显卡的,这个声音需要连接的显示设备带音箱或者显示器接音箱输出才有效。


3、重装 PipeWire + ALSA(卸载 snap 后最容易缺包)

sudo apt update
# 重装核心音频包(覆盖依赖损坏)
sudo apt install --reinstall pipewire pipewire-pulse wireplumber alsa-utils
# 强制加载声卡驱动
sudo alsa force-reload
# 启用并重启
systemctl --user enable --now pipewire pipewire-pulse wireplumber

做完 重启一次


4、权限 / 用户组问题(卸载 snap 后权限被清)

sudo adduser $USER audio
sudo adduser $USER pulse-access

注销→重登,再试声音。


5、禁用 wireplumber 的 snap 插件

这个插件找不到 snap 会让 wireplumber 不稳定,间接影响声音:

sudo mkdir -p /etc/wireplumber/main.conf.d/
echo 'disable-monitors = ["snapd"]' | sudo tee /etc/wireplumber/main.conf.d/99-no-snapd.conf

再重启:

systemctl --user restart wireplumber

6、终极清理(还不行再用)

# 清用户级 Pulse/ PipeWire 配置
rm -rf ~/.config/pulse ~/.local/state/pipewire ~/.local/state/wireplumber

# 修复系统依赖
sudo apt -f install
sudo apt full-upgrade

重启后再试。


六、总结

  • PipeWire = 现代 Linux 音频 + 视频核心
  • Ubuntu 26.04 默认就是它,不用装、不用配置
  • 日常:插耳机、连蓝牙、调音量、录屏
  • 出问题:重启一下服务就行
  • 养成习惯多看日志,可以发现问题再分析出来
本文首发于 58Linux技术博客,专注Ubuntu桌面使用、Linux服务器运维与网站搭建实战。
       本系列的一部分

ubuntu桌面

Post 70 of 70

发表评论

粤ICP备10052831号 | © 2026 58Linux 技术笔记. All Rights Reserved. | 联系我们 | 关于本站
本站内容开放共享,仅供学习交流 | 专注 Ubuntu & Linux 实战教程
Built with GeneratePress