'Twas brillig, and Antoine Martin at 08/04/11 22:20 did gyre and gimble: > Hi, > > How can I start multiple copies of pulseaudio for the same $USER, but in > different contexts? > This was working a while back (last year or so - not sure about version > numbers).. but doesn't any more? > > My software starts a virtual X server (xpra, vnc..), dbus and a > dedicated pulseaudio server for each "session application" it launches. > This allows it to redirect the sound (in and out) to/from remote > machines (potentially multiple at once too, some directly, some via > gstreamer+vorbis over ssh) - all this together with the display. see (1) > > Each "application session" gets its own environment and starts > pulseaudio with: > /usr/bin/pulseaudio --start -vvvv --disable-shm=true --daemonize=false > --use-pid-file=false --system=false --exit-idle-time=-1 -n > --load=module-suspend-on-idle --load=module-null-sink > "--load=module-native-protocol-unix socket=/tmp/pulse-$DISPLAY/native" > > A single $USER may start dozens of those sessions, each with a different > (virtual) $DISPLAY. > Now, when I start the second instance I can see that it somehow finds > the previous copy (not the one used by my local X11 session) > [pid 3044] > open("/home/antoine/.pulse/70a1ab2a8c9d6cb7625f17060000000d-runtime/autospawn.lock", > O_RDWR|O_CREAT|O_NOCTTY|O_NOFOLLOW, 0600) = 5 > [pid 3044] fcntl(5, F_SETLKW, {type=F_WRLCK, whence=SEEK_SET, start=0, > len=0} > From that point onwards, nothing happens. > > Can you please advise on how to restore this functionality? This is something that is not supported. PA is, plain and simple, a per-user daemon. If you want to direct sound from different DISPLAYs to different PA servers/sinks you can use the PULSE_SERVER and/or PULSE_SINK property on the X11 root window. This functionality will get even more difficult to hack round in the future when XDG_SESSION_DIR is supported (i.e. when it's rolled out via systemd and supported by PA) so I'd recommend trying to find a way that works where just one PA daemon per-user is started but appropriate hacking of the X11 root window properties is done instead to acheive the same result. There will ultimately likely always be ways to get the end result you need tho' :) Col -- Colin Guthrie gmane(at)colin.guthr.ie http://colin.guthr.ie/ Day Job: Tribalogic Limited [http://www.tribalogic.net/] Open Source: Mageia Contributor [http://www.mageia.org/] PulseAudio Hacker [http://www.pulseaudio.org/] Trac Hacker [http://trac.edgewall.org/]