[pulseaudio-discuss] --check option seems not to work from su(1) as daemon user
Glenn Golden
gdg at zplane.com
Sun Aug 31 18:45:03 PDT 2014
Hi Tanu,
OK, next batch of questions pertaining to the Wiki writeup. (Just remember:
I warned you... :) )
Some of these probably seem off-topic relative to runtime dirs and pid files,
but what's happened is that it seems almost impossible to discuss that narrow
topic satisfactorily without also addressing the somewhat larger issue of
"identification", i.e. "Which PA daemon do we really want to be talking to?"
Various entities that care about identification would seem to include:
* pulseaudio(1) itself: --start, --kill, --check options
* pavucontrol
* pactl
* pacmd
* Programs (or humans) that send signals to PADs (PA daemons) for
control purposes.
And of course, in addition to the above, the audio clients themselves, but that
is surely outside the scope of what I want to write up for the Wiki.
Anyway... it seemed to me like the core of this "identification" question is
a better understanding on my part of the feasible/supported PA topologies,
so that's what most of the questions below relate to. Here's a list of
possibilities, and my take on each (which may be totally wrong). Please
comment on the reality of these:
- One user runs a single PAD on local host. [Certain]
- One user runs multiple PADs on local host. [The doc for --use-pid-file
implies that this is possible, but haven't been able to get it to work;
see Q1 and Q3 below.]
- Multiple users on a given host, each of whom may be running one or more
PADs on that host. [Think so, not sure.]
- Single system-wide PAD on a given host. [Certain]
- Multiple system-wide PADs on a given host. [No clue.]
- One or more system-wide PADs operating concurrently with one or more
user PADs. [No clue]
And then, in a more or less separate category:
- One or more users on a given host communicating with networked PADs
(i.e. PADs running on a remote host, but which nevertheless need to be
"addressed" in some fashion by control tools like pavucontrol, pacmd, etc.)
So -- finally -- here are the questions:
NOTE: In what follows "anchored" means "having an associated pid file".
1. Is there a legitimate user purpose to --use-pid-file=0 ? Or is it intended
perhaps just for developer use only? (If the latter, there's probably no
need to document the existence of unanchored PADs in the Wiki blurb).
2. How do {pavucontrol, pactl} select which PAD to communicate with? I had
assumed it was via the pidfile, but this seems not to be the case, as it
is able to establish communication even with a non-anchored PAD:
# Begin with no PAD running
$ pulseaudio -v --start --use-pid-file=0
I: [pulseaudio] main.c: Daemon startup successful.
$ pavucontrol # Seems to work normally
Otoh, pacmd seems to use the pidfile, because if you start pacmd with only
an unanchored PAD, it whines that a PAD is not running.
3. Doc for --use-pid-file says: "If this option is disabled it is possible
to run multiple sound servers per user."
I played with this as an ordinary user, could not figure out a way to
get multiple PADs running. E.g.:
# Begin with no PAD running
$ pulseaudio -v --start --use-pid-file=0
I: [pulseaudio] main.c: Daemon startup successful.
$ pulseaudio -v --start --use-pid-file=0
E: [pulseaudio] main.c: Daemon startup failed.
Syslog shows the second attempt failed with EADDRINUSE on bind(). Not sure
what address is conflicting (the listening port for remote connections?)
but in any case did not see any options in pulseaudio.1 which allows the
user to modify any port or other address, in order to avoid conflict.
So assuming that the magic incantation for running multiple unanchored
PADs is something entirely different.
You had remarked earlier:
"one example would be a scenario where the user has one regular daemon
running, and then the user runs a PulseAudio test suite that starts
another daemon for the tests under the same user but in a different
environment"
How does that test suite manage to start the second PA daemon? In partick,
what games does it play with the "different" environment to allow a second
instance?
That's all for now. :) Anyway, with answers to the above, I should be able to
get in place a skeleton for the wiki writeup, and then fill in the details on
the fly.
Thanks!
Glenn
More information about the pulseaudio-discuss
mailing list