如何在 Wine 下运行游戏时暂时禁用 PulseAudio?

Dea*_*son 54 pulseaudio

只是想知道是否有办法暂时禁用 PulseAudio,因为我正在尝试运行特定的 Wine 游戏(Left 4 Dead 2)并且它偶尔会导致游戏崩溃。

如果我终止该进程,它会自动恢复。有什么建议?

mgu*_*nes 34

您可以使用pasuspender. 尝试在您的 wine 命令前加上它。

pasuspender -- wine path/to/file.exe
Run Code Online (Sandbox Code Playgroud)


use*_*516 34

就我而言,我无法停止pulseaudio,因为它是由systemctl自动重新启动的。

在这种情况下,停止pulseaudio的正确方法是:

systemctl --user stop pulseaudio.socket
systemctl --user stop pulseaudio.service
Run Code Online (Sandbox Code Playgroud)

要再次启动它,您可以使用:

systemctl --user start pulseaudio.socket
systemctl --user start pulseaudio.service
Run Code Online (Sandbox Code Playgroud)

  • 可能是它不是由 systemctl 管理的。在这种情况下,要停止pulseaudio,您应该只需“pulseaudio -k”。 (3认同)

小智 32

在 中/etc/pulse/client.conf,您可以取消注释该行autospawn=yes并将 yes 替换为“no”。当然,这应该可以在您的主目录中的 .pulse 目录中进行设置。

一种更client.conf简洁的方法是在您的 .pulse 目录中创建一个~ 并将“autospawn = no”行放入其中。在你完成你需要做的事情后重新打开自动生成会很好。

  • 这或在我的 homedir 中使用“autospawn=no”创建“.config/pulse/client.conf”都不适合我。Pulseaudio 继续在启动时启动 - Ubuntu 19.10 (2认同)

小智 23

我使用脚本:

#!/bin/sh
echo autospawn = no >> "$HOME/.config/pulse/client.conf"
pulseaudio --kill
sed -i '/\<autospawn\>/d' "$HOME/.config/pulse/client.conf"
Run Code Online (Sandbox Code Playgroud)

然后玩游戏,然后重新启用PA:

pulseaudio --start
Run Code Online (Sandbox Code Playgroud)

适用于 Xubuntu 13.10。如果脚本中的“.config/pulse”不起作用(通常在旧的 *buntues 上),请将其替换为“.pulse”

  • 如果您已经有 client.conf 并最终将其删除,则无用。 (3认同)

小智 5

Alt+F2类型pactl exit

停止所有pulseaudio进程。你可以输入

Alt+F2类型pulseaudio

重新开始。不幸的是,在此之后,某些程序似乎不再听起来了。仍在寻找一种无需重启即可重新激活脉冲的方法......

  • `pactl exit` 不会在我的机器上完全停止pulseaudio,它会立即重新启动(就像使用 `pulseaudio -k` 一样)。 (7认同)