如何在Ubuntu 22.04中单独禁用Flatpak版非官方Teams客户端的音频输出
如何在Ubuntu 22.04中单独禁用Flatpak版非官方Teams客户端的音频输出
我完全懂你的困扰——Electron套壳的应用在系统声音设置里全显示成Chromium,根本没法单独区分禁用,尤其是这个非官方Teams客户端的通知音还吵得离谱。下面给你几个实用的解决方案,帮你精准关掉它的音频,同时不影响官方客户端和浏览器的声音:
方法一:通过Flatpak权限直接限制音频访问(最推荐)
Flatpak本身支持细粒度的权限管理,我们可以直接禁止这个非官方Teams客户端访问音频设备,从根源上切断它的声音输出:
- 先找到这个应用的Flatpak包名,打开终端运行:
你应该会看到类似flatpak list | grep -i teamscom.github.IsmaelMartinez.teams_for_linux这样的包名(这是Flathub上常见的非官方Teams客户端包名)。 - 运行以下命令禁用它的音频权限:
flatpak override --no-audio com.github.IsmaelMartinez.teams_for_linux - 重启这个非官方Teams客户端,之后它就完全没有声音输出了,而且绝对不会影响你的浏览器或者官方Teams客户端。
- 如果之后需要恢复音频权限,只需要把命令改成:
flatpak override --audio com.github.IsmaelMartinez.teams_for_linux
方法二:用PulseAudio单独静音该应用(临时/永久可选)
如果不想完全禁用权限,也可以通过PulseAudio来单独静音这个应用的音频流:
临时静音(单次生效)
- 安装PulseAudio音量控制工具(如果没装的话):
sudo apt install pavucontrol - 打开
pavucontrol,切换到「播放」标签页,找到非官方Teams对应的「Chromium」音频流(可以通过播放一个测试通知来确认是哪一个)。 - 点击该流右侧的静音按钮,就能临时静音它,重启应用后会失效。
永久静音(自动生效)
可以写一个简单的启动脚本,让应用启动后自动静音:
- 找到该Flatpak应用的桌面文件,一般在
~/.local/share/flatpak/exports/share/applications/或/var/lib/flatpak/exports/share/applications/目录下,文件名类似com.github.IsmaelMartinez.teams_for_linux.desktop。 - 打开这个文件,把
Exec行替换成:
注意:Exec=sh -c "flatpak run com.github.IsmaelMartinez.teams_for_linux & sleep 5 && pactl list sink-inputs | grep -B2 'application.name = \"Chromium\"' | grep 'Sink Input #' | awk '{print $3}' | xargs pactl set-sink-input-mute true"sleep 5的时间可以根据应用启动速度调整,确保应用完全启动后再执行静音命令;如果有多个Chromium类应用同时运行,可能需要更精准的匹配条件(比如结合窗口标题),不过对于你的场景,这个脚本基本能满足需求。
方法三:修改应用的启动参数(适合Electron应用)
有些Electron应用可以通过启动参数禁用音频,你可以试试修改Flatpak的启动命令:
- 同样找到对应的
.desktop文件,修改Exec行为:
不过这个参数不是所有Electron应用都支持,你可以先测试一下是否生效。Exec=flatpak run com.github.IsmaelMartinez.teams_for_linux --mute-audio
总结下来,方法一是最稳妥的,因为它直接通过Flatpak权限隔离,不会和其他应用产生冲突,而且设置一次就永久生效。
备注:内容来源于stack exchange,提问作者Thomas Fritz
相关产品推荐
相关产品推荐

