所以我正在编写别名,以便我可以启动/停止 pulseaudio 以运行某些 Wine 应用程序。我的别名目前看起来像:
# Reload pulse audio devices
alias rldpulsdev='sudo service avahi-daemon restart'
#Wine needs to use ALSA directly. PulseAudio interferes with it.
#kill pulseaudio
alias kpa='echo "autospawn = no" > ~/.config/pulse/client.conf;sudo service pulseaudio stop'
#start pulseaudio
alias spa='echo "autospawn = yes" > ~/.config/pulse/client.conf;sudo service pulseaudio start;rldpulsdev'
问题:如果我使用上述别名终止 pulseaudio,所有设备都会从声音管理小部件中消失,扬声器图标也会从托盘中消失。当脉冲关闭时这没关系,但我希望启动别名来解决这个问题。上面的“rldpulsdev”别名是谜题的一部分,但我肯定还遗漏了一些东西。请提供线索?如果我摆弄它并可能重新启动或重新登录,它最终会自行修复,但这本身就意味着我可以通过别名修复它。
在 Ubuntu 上,Pulse Audio 设计为在用户空间中运行。在系统范围模式下将 Pulse Audio 作为服务运行是可能的,但不推荐,因为它可能会导致太多其他问题,并且用户空间中的其他应用程序(例如 Avahi)或用户空间中依赖 pulseaudio 的应用程序无法与声音服务器通信。
只有在我们以用户身份运行 Pulse Audio 时
~/.config/pulse/
才会读取配置文件。否则只有来自/etc/pulse
的设置有效。因此,对在系统范围模式下运行的 Pulse Audio 设置的任何更改都不能在任何用户的主页中定义。暂时暂停 pulseaudio以使用 ALSA 运行 Wine的推荐方法是:
要停止以用户身份运行的 pulseaudio,我们可以发出
这也可以包含在脚本或别名中。默认情况下,pulseaudio 将立即重生。如果我们禁用了它,我们只需通过以下方式启动 pulseaudio
如果存在,来自
~/.config/pulse
will 的设置将覆盖全局设置。/etc/pulse
请注意,我们不需要(也不应该使用)这两个命令的根权限。