[pulseaudio-tickets] [PulseAudio] #824: Multiple users.

PulseAudio trac-noreply at tango.0pointer.de
Fri Jul 30 02:33:00 PDT 2010


#824: Multiple users.
----------------------+-----------------------------------------------------
  Reporter:  olek     |       Owner:  lennart
      Type:  defect   |      Status:  closed 
 Milestone:           |   Component:  daemon 
Resolution:  wontfix  |    Keywords:         
----------------------+-----------------------------------------------------
Changes (by coling):

  * status:  new => closed
  * resolution:  => wontfix


Comment:

 This is actually the expected behaviour.

 It is not technically PulseAudio who imposes this, but lower parts of the
 system, namely Console Kit and udev. Ultimately if your session is not
 active (ck-list-sessions), then CK+udev ensures that your user does not
 have write permission on the device nodes in /dev/snd/* by virtue of
 editing and removing user-specific ACLs on those nodes.

 PulseAudio simply checks to see that your user is permitted to access
 those device nodes and if you do not, it ensures that all current (and any
 future) streams are "corked" (a term meaning 'forcibly paused').

 So really all we are doing is behaving like a good citizen based on what
 the underlying systems impose upon us.

 If you are one of the few users who actually want to allow a user with a
 locked screen to play their Brittany Spears disog on loop at max volume,
 then you have a couple of options, although they are not officially
 supported.

 You can either
  a) Add your users to the 'audio' group. This requires that your hardware
 supports hardware mixing, so is generally not a useful option as most h/w
 does not support this.
  or
  b) Setup pulseaudio in system-wide mode. This is pretty evil from a
 security stand point (other users can eavesdrop on your voip conversations
 and other such like nasties) plus lots of efficiency savings are lost (no
 SHM for app->PA data transfers means the requirement for memcpy). Also
 there is the overhead of running PA as a system service and adding all the
 users you want to allow access to it to the pulse-access group. While we
 don't intentionally break it, system-wide mode is not really officially
 supported.

 So all in all, this is not really the designed use-case, but the
 underlying principles are really lower down in the system and not
 something we can work around without fundamental rethink of both PA design
 and many of the underlying systems and permission models of Linux
 userspace itself.


 Just FYI, PulseAudio client applications can use a 'cork notification' to
 pause themselves and thus present their GUI more gracefully when the users
 session is reactivated. (FWIW this is very similar to what happens on OSX
 too. i.e. compare what happens when using OSX and you do a "fast user
 switch" while iTunes is playing, it will pause itself - however, if you
 run VLC on OSX and switch away, VLC will be corked but will carry on where
 it left off when you return without any manual unpausing as is needed in
 iTunes - i.e. it does not support nice feedback and is forcibly corked).

-- 
Ticket URL: <http://pulseaudio.org/ticket/824#comment:2>
PulseAudio <http://pulseaudio.org/>
The PulseAudio Sound Server


More information about the pulseaudio-bugs mailing list