You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Ubuntu 22.04下多用户配置PulseAudio时的异常问题求助

Ubuntu 22.04下多用户配置PulseAudio时的异常问题求助

我在自己的机器上已经给windowsxp用户搞定了PulseAudio——不管是通过RDP远程连接还是PuTTY登录,音频都能正常工作。现在想给ubuntu这个管理员用户也复刻一套同样的配置,结果踩了一堆坑,实在搞不定了来求助!

我先是参考了相关的论坛和博客教程,做了以下操作:

  • 编辑/etc/pulse/client.conf,追加了这几行配置:
    autospawn = no
    default-server = unix:/tmp/riri-pulse-socket
    enable-memfd = yes
    
  • 修改/etc/pulse/default.pa,把原来的load-module module-native-protocol-unix替换成了:
    load-module module-native-protocol-unix auth-anonymous=1 socket=/tmp/riri-pulse-socket
    
  • 给两个用户都执行了pulseaudio --kill终止进程,然后运行pulseaudio --start尝试重启

结果刚执行pulseaudio --start就报错了:

$ pulseaudio --start
n: [pulseaudio] main.c: user-configured server at unix:/tmp/riri-pulse-socket, refusing to start/autospawn.

我去/tmp目录下找,根本没有riri-pulse-socket这个文件。

我试着把client.conf里的autospawn改成yes,但错误还是一模一样。后来在网上瞎逛的时候看到有人说用pulseaudio -D启动,抱着试试的心态跑了,居然成功在/tmp里创建了socket文件,也没报错:

$ ls -l /tmp/riri-pulse-socket
srwxrwxrwx 1 ubuntu ubuntu 0 Jan 29 03:08 /tmp/riri-pulse-socket

这里我还有个小疑问:这个socket文件显示是0字节,这是正常的吗?

本以为改完就没问题了,结果ubuntu用户不管是RDP还是PuTTY连接都还是没声音,更离谱的是之前好好的windowsxp用户的音频也挂了!把所有修改的配置改回去之后,才回到最初的状态——只有windowsxp能出声,ubuntu还是不行。

补充说下:我之所以直接改/etc/pulse下的全局配置,是因为之前试了用户本地的配置文件,PulseAudio根本不识别,也不会在/tmp里创建socket。另外我确认过PulseAudio是跑在用户模式下的,看htop里的进程都是对应用户名,不是root或者pulse用户。

附上相关的日志信息:
执行pulseaudio --start -vvv的输出:

$ pulseaudio --start -vvv
D: [pulseaudio] conf-parser.c: Parsing configuration file '/etc/pulse/client.conf'
D: [pulseaudio] conf-parser.c: Failed to open configuration file '/etc/pulse/client.conf.d/01-enable-autospawn.conf': No such file or directory
N: [pulseaudio] main.c: User-configured server at unix:/tmp/riri-pulse-socket, refusing to start/autospawn.

查看用户级systemd服务状态systemctl --user status pulseaudio的输出:

$ systemctl --user status pulseaudio
● pulseaudio.service - Sound Service
Loaded: loaded (/usr/lib/systemd/user/pulseaudio.service; enabled; vendor preset: enabled)
Active: active (running) since Mon 2024-01-29 05:43:33 JST; 36s ago
TriggeredBy: ● pulseaudio.socket
Main PID: 3189 (pulseaudio)
Tasks: 3 (limit: 1660)
Memory: 1.8M
CPU: 171ms
CGroup: /user.slice/user-1002.slice/user@1002.service/session.slice/pulseaudio.service
└─3189 /usr/bin/pulseaudio --daemonize=no --log-target=journal

Jan 29 05:43:33 ubuntu pulseaudio[3189]: Build library version 15.99.0
Jan 29 05:43:33 ubuntu pulseaudio[3189]: sink_process_msg: not running
Jan 29 05:43:33 ubuntu pulseaudio[3189]: close_send:
Jan 29 05:43:33 ubuntu pulseaudio[3189]: Build library version 15.99.0
Jan 29 05:43:33 ubuntu systemd[2150]: Started Sound Service.
Jan 29 05:44:08 ubuntu pulseaudio[3189]: sink_process_msg: not running
Jan 29 05:44:08 ubuntu pulseaudio[3189]: close_send:
Jan 29 05:44:08 ubuntu pulseaudio[3189]: Connected ok fd 29
Jan 29 05:44:08 ubuntu pulseaudio[3189]: sink_process_msg: not running
Jan 29 05:44:08 ubuntu pulseaudio[3189]: close_send:

我注意到日志里反复出现sink_process_msg: not running,会不会这个就是问题的关键?

另外,后来我还看到有人讨论的时候提到了PULSE_SCRIPT、PULSE_SERVER、pactl还有XDG这些术语,但完全摸不着头脑——这些东西到底是干嘛的?和我的问题有什么关系?该怎么用它们来解决我的问题呢?

备注:内容来源于stack exchange,提问作者N00B_141

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.04.20 11:08:01