On Sat, 2014-09-13 at 09:12 -0600, Glenn Golden wrote: > A few loose-end questions if you have time: > > * Can you point me to any doc that describes the semantics of > PULSE_RUNTIME_PATH? It's not mentioned in pulse-daemon.conf.5 or in > pulseaudio.1. (It doesn't even show up on the first page of results > from Google. How's that for 'obscure'? :) ) There's probably no documentation for that. Since the XDG_RUNTIME_DIR environment variable exists, PULSE_RUNTIME_PATH appears to be redundant. I think we should remove it (since it's undocumented, this doesn't count as an interface break). That's a bit tricky, though, because PULSE_RUNTIME_PATH is currently used internally to set the runtime directory in the system mode. It would probably not too hard to modify the code so that the system mode doesn't rely on PULSE_RUNTIME_PATH, but even easier would be to always unset the environment variable at startup, and set it again in the system mode. That way the old logic for figuring out the runtime directory in the system mode would work as before, but any values set by the user would be ignored. I suggest that you write the documentation with the assumption that PULSE_RUNTIME_PATH doesn't exist. I'll write a patch today or next week that removes it from the code. If it turns out that the patch will not be accepted, then the documentation will have to be updated. > * Do you have a pointer to any doc which describes how PA distinguishes > between the concepts of "user", "seat", and "session"? PA doesn't have any understanding of the "seat" and "session" concepts. I mentioned these concepts earlier, because they affect what hardware devices PulseAudio will try to access, but PulseAudio doesn't directly use those concepts. logind or ConsoleKit is responsible for managing the device permissions based on which user currently has an active session on which seat, and PulseAudio reacts to the permission changes. If the user loses permission to a device, PulseAudio will stop using that device until the user gains access to it again. logind's multiseat concept is documented here: http://www.freedesktop.org/wiki/Software/systemd/multiseat/ -- Tanu