因此,我正在编写别名,以便可以启动/停止 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,所有设备都会从声音管理小部件中消失,扬声器图标也会从托盘中消失。当 pulse 关闭时,这是可以的,但我希望启动别名可以解决这个问题。上面的“rldpulsdev”别名是谜题的一部分,但我肯定还遗漏了一些东西。请给我线索?如果我摆弄它,也许重新启动或重新登录,它最终会自行修复,但这本身意味着我可以通过别名来修复它。
答案1
在 Ubuntu 上,Pulse Audio 被设计为在用户空间中运行。在系统范围内运行 Pulse Audio 作为服务是可能的,但是不建议因为它可能会导致太多其他问题,并且用户空间中的其他应用程序(例如 Avahi)或依赖于用户空间中的 pulseaudio 的应用程序无法与声音服务器通信。
仅当我们以用户身份运行 Pulse Audio 时,~/.config/pulse/
才会读取 中的配置文件。否则,只有 中的设置才/etc/pulse
有效。因此,对以系统范围模式运行的 Pulse Audio 的任何设置更改都无法在任何用户的 HOME 中定义。
这建议暂时停止 pulseaudio使用 ALSA 运行 Wine 将是:
pasuspender -- wine <options) <windows-program>
要停止以用户身份运行 pulseaudio 我们可以发出
pulseaudio -k
这也可以包含在脚本或别名中。默认情况下,pulseaudio 将立即重生。如果我们禁用了此功能,我们只需通过以下方式启动 pulseaudio
pulseaudio
如果存在,来自的设置~/.config/pulse
将覆盖来自的全局设置/etc/pulse
。请注意,我们不需要(也不应该使用)这两个命令的 root 权限。