我的用户 user1 正在运行图形 X 会话,并为每个用户配置了脉冲。
我需要运行一个使用 user2 音频的图形程序。
如果我这样做,
su user2; program
程序无法启动,并且没有音频也没有视频如果我这样做,
gksu -u user2 program
视频可以正常工作,但我听不到音频。
为什么会出现这些问题呢?启动根据用户的脉搏输出声音的脉冲应用程序的正确方法是什么?从另一个会话(例如 SSH shell)启动 X/音频应用程序的正确方法是什么?
答案1
作为“用户2”
echo "default-server = unix:/tmp/pulse-socket" >> ~user2/.config/pulse/client.conf
作为“用户1”
echo "load-module module-native-protocol-unix auth-anonymous=1 socket=/tmp/pulse-socket" >> ~user1/.config/pulse/default.pa
然后重新启动服务器:
pulseaudio --kill
pulseaudio --start
与“su”(或“su -l”)配合使用效果很好。我还没有尝试过“ssh”,但它应该起到同样的作用。
您还可以使用 module-native-protocol-unix 的选项来限制访问,如下所示:
load-module module-native-protocol-unix auth-group=othergroup socket=/tmp/pulse-socket
来源:
请参阅 Arch Wiki 段落 允许多个用户同时使用PulseAudio