1pulseaudio(1)               General Commands Manual              pulseaudio(1)
2
3
4

NAME

6       pulseaudio - The PulseAudio Sound System
7

SYNOPSIS

9       pulseaudio [options]
10
11       pulseaudio --help
12
13       pulseaudio --version
14
15       pulseaudio --dump-conf
16
17       pulseaudio --dump-modules
18
19       pulseaudio --dump-resample-methods
20
21       pulseaudio --cleanup-shm
22
23       pulseaudio --start
24
25       pulseaudio --kill
26
27       pulseaudio --check
28

DESCRIPTION

30       PulseAudio is a networked low-latency sound server for Linux, POSIX and
31       Windows systems.
32

OPTIONS

34       -h | --help
35              Show help.
36
37       --version
38              Show version information.
39
40       --dump-conf
41              Load the daemon  configuration  file  daemon.conf  (see  below),
42              parse  remaining  configuration  options on the command line and
43              dump the resulting daemon configuration, in  a  format  that  is
44              compatible with daemon.conf.
45
46       --dump-modules
47              List  available  loadable  modules.  Combine  with -v for a more
48              elaborate listing.
49
50       --dump-resample-methods
51              List available audio resamplers.
52
53       --cleanup-shm
54              Identify  stale  PulseAudio  POSIX  shared  memory  segments  in
55              /dev/shm  and  remove  them if possible. This is done implicitly
56              whenever a new daemon starts up or a client tries to connect  to
57              a daemon. It should normally not be necessary to issue this com‐
58              mand by hand. Only available on systems with POSIX shared memory
59              segments  implemented  via  a  virtual  file  system  mounted to
60              /dev/shm (e.g. Linux).
61
62       --start
63              Start PulseAudio if it is not running  yet.  This  is  different
64              from  starting PulseAudio without --start which would fail if PA
65              is already running. PulseAudio is guaranteed to  be  fully  ini‐
66              tialized when this call returns. Implies --daemon.
67
68       -k | --kill
69              Kill  an  already  running PulseAudio daemon of the calling user
70              (Equivalent to sending a SIGTERM).
71
72       --check
73              Return 0 as return code when the PulseAudio  daemon  is  already
74              running for the calling user, or non-zero otherwise. Produces no
75              output on the console except for errors to stderr.
76
77       --system[=BOOL]
78              Run as system-wide instance instead  of  per-user.  Please  note
79              that  this disables certain features of PulseAudio and is gener‐
80              ally not recommended unless the  system  knows  no  local  users
81              (e.g.  is  a thin client). This feature needs special configura‐
82              tion and a dedicated UNIX user set up. It is highly  recommended
83              to combine this with --disallow-module-loading (see below).
84
85       -D | --daemonize[=BOOL]
86              Daemonize after startup, i.e. detach from the terminal.
87
88       --fail[=BOOL]
89              Fail  startup  when any of the commands specified in the startup
90              script default.pa (see below) fails.
91
92       --high-priority[=BOOL]
93              Try to acquire a high Unix nice level. This will only succeed if
94              the  calling  user has a non-zero RLIMIT_NICE resource limit set
95              (on systems that support this), or we're called SUID  root  (see
96              below),  or  we  are  configure  to be run as system daemon (see
97              --system above). It is recommended to enable this, since  it  is
98              only a negligible security risk (see below).
99
100       --realtime[=BOOL]
101              Try  to  acquire  a  real-time  scheduling  for PulseAudio's I/O
102              threads. This will only succeed if the calling user has  a  non-
103              zero  RLIMIT_RTPRIO  resource limit set (on systems that support
104              this), or we're called SUID root (see below), or we are  config‐
105              ure  to be run as system daemon (see --system above). It is rec‐
106              ommended to enable this only for trusted users, since  it  is  a
107              major security risk (see below).
108
109       --disallow-module-loading[=BOOL]
110              Disallow  module  loading after startup. This is a security fea‐
111              ture since it disallows additional module loading during runtime
112              and  on  user request. It is highly recommended when --system is
113              used (see above). Note however, that this  breaks  certain  fea‐
114              tures like automatic module loading on hot plug.
115
116       --exit-idle-time=SECS
117              Terminate  the daemon when idle and the specified number of sec‐
118              onds passed.
119
120       --module-idle-time=SECS
121              Unload autoloaded modules when idle and the specified number  of
122              seconds passed.
123
124       --scache-idle-time=SECS
125              Unload  autoloaded  samples from the cache when the haven't been
126              used for the specified number of seconds.
127
128       --log-level[=LEVEL]
129              If an argument is passed, set the log  level  to  the  specified
130              value, otherwise increase the configured verbosity level by one.
131              The log levels are numerical  from  0  to  4,  corresponding  to
132              error,  warn,  notice, info, debug. Default log level is notice,
133              i.e. all log messages with lower log levels are printed:  error,
134              warn, notice.
135
136       -v     Increase  the configured verbosity level by one (see --log-level
137              above). Specify multiple times to increase  log  level  multiple
138              times.
139
140       --log-target={auto,syslog,stderr}
141              Specify  the  log target. If set to auto (which is the default),
142              then logging is directed to syslog when --daemonize  is  passed,
143              otherwise to STDERR.
144
145       --p | --dl-search-path=PATH
146              Set the search path for dynamic shared objects (plugins).
147
148       --resample-method=METHOD
149              Use  the  specified  resampler  by default (See --dump-resample-
150              methods above for possible values).
151
152       --use-pid-file[=BOOL]
153              Create a PID file. If this options is disabled it is possible to
154              run multiple sound servers per user.
155
156       --no-cpu-limit[=BOOL]
157              Do not install CPU load limiter on platforms that support it. By
158              default, PulseAudio will terminate itself when it  notices  that
159              it  takes  up  too much CPU time. This is useful as a protection
160              against system lockups when real-time scheduling  is  used  (see
161              below).  Disabling  this  meachnism  is  useful  when  debugging
162              PulseAudio with tools like valgrind(1) which  slow  down  execu‐
163              tion.
164
165       --disable-shm[=BOOL]
166              PulseAudio  clients  and  the server can exchange audio data via
167              POSIX shared memory segments (on systems that support this).  If
168              disabled  PulseAudio  will communicate exclusively over sockets.
169              Please note that data transfer via  shared  memory  segments  is
170              always disabled when PulseAudio is running with --system enabled
171              (see above).
172
173       -L | --load="MODULE ARGUMENTS"
174              Load the specified plugin module with the specified arguments.
175
176       -F | --file=FILENAME
177              Run the specified script on startup. May be  specified  multiple
178              times  to  specify  multiple scripts to be run in order. Combine
179              with -n to disable loading of the default script default.pa (see
180              below).
181
182       -C     Open  a  command interpreter on STDIN/STDOUT after startup. This
183              may be used to configure PulseAudio dynamically during  runtime.
184              Equivalent to --load=module-cli.
185
186       -n     Don't  load  default  script  file  default.pa  (see  below)  on
187              startup. Useful in conjunction with -C or --file.
188

FILES

190       ~/.pulse/daemon.conf,  /etc/pulse/daemon.conf:  configuration  settings
191       for  the PulseAudio daemon. If the version in the user's home directory
192       does not exist the global configuration file is loaded. See  pulse-dae‐
193       mon.conf(5) for more information.
194
195       ~/.pulse/default.pa,  /etc/pulse/default.pa:  the default configuration
196       script to execute when the PulseAudio daemon is started. If the version
197       in  the  user's  home directory does not exist the global configuration
198       script is loaded. See default.pa(5) for more information.
199
200       ~/.pulse/client.conf,  /etc/pulse/client.conf:  configuration  settings
201       for  PulseAudio  client applications. If the version in the user's home
202       directory does not exist the global configuration file is  loaded.  See
203       pulse-client.conf(5) for more information.
204

SIGNALS

206       SIGINT, SIGTERM: the PulseAudio daemon will shut down (Same as --kill).
207
208       SIGHUP: dump a long status report to STDOUT or syslog, depending on the
209       configuration.
210
211       SIGUSR1:  load  module-cli,  allowing   runtime   reconfiguration   via
212       STDIN/STDOUT.
213
214       SIGUSR2:  load  module-cli-protocol-unix, allowing runtime reconfigura‐
215       tion via a AF_UNIX socket. See pacmd(1) for more information.
216

UNIX GROUPS AND USERS

218       Group pulse-rt: if the PulseAudio binary is marked SUID root, then mem‐
219       bership  of  the  calling  user in this group decides whether real-time
220       and/or high-priority scheduling is enabled. Please note  that  enabling
221       real-time scheduling is a security risk (see below).
222
223       Group  pulse-access:  if  PulseAudio is running as a system daemon (see
224       --system above) access is granted to members of this  group  when  they
225       connect  via AF_UNIX sockets. If PulseAudio is running as a user daemon
226       this group has no meaning.
227
228       User pulse, group pulse: if PulseAudio is running as  a  system  daemon
229       (see  --system above) and is started as root the daemon will drop priv‐
230       iliges and become a normal user process using this user and  group.  If
231       PulseAudio is running as a user daemon this user and group has no mean‐
232       ing.
233

REAL-TIME AND HIGH-PRIORITY SCHEDULING

235       To minimize the risk of drop-outs during playback it is recommended  to
236       run  PulseAudio  with  real-time  scheduling if the underlying platform
237       supports it. This decouples the scheduling latency  of  the  PulseAudio
238       daemon  from the system load and is thus the best way to make sure that
239       PulseAudio always gets CPU time when it needs it to refill the hardware
240       playback  buffers.  Unfortunately  this is a security risk on most sys‐
241       tems, since PulseAudio runs as user process, and giving realtime sched‐
242       uling  priviliges to a user process always comes with the risk that the
243       user misuses it to lock up the system -- which is possible since making
244       a process real-time effectively disables preemption.
245
246       To  minimize  the  risk PulseAudio by default does not enable real-time
247       scheduling. It is however recommended to enable it on trusted  systems.
248       To  do that start PulseAudio with --realtime (see above) or enabled the
249       appropriate option in daemon.conf. Since acquiring realtime  scheduling
250       is  a priviliged operation on most systems, some special changes to the
251       system configuration need to be made to allow them to the calling user.
252       Two options are available:
253
254       On  newer  Linux  systems  the system resource limit RLIMIT_RTPRIO (see
255       setrlimit(2) for more information) can be used to allow specific  users
256       to  acquire  real-time scheduling. This can be configured in /etc/secu‐
257       rity/limits.conf, a resource limit of 9 is recommended.
258
259       Alternatively, the SUID root bit can be set for the PulseAudio  binary.
260       Then, the daemon will drop root priviliges immediately on startup, how‐
261       ever retain the CAP_NICE capability (on systems that support  it),  but
262       only if the calling user is a member of the pulse-rt group (see above).
263       For all other users all capababilities  are  dropped  immediately.  The
264       advantage  of  this  solution is that the real-time priviliges are only
265       granted to the PulseAudio daemon -- not to all the user's processes.
266
267       Alternatively, if the risk of locking up the machine is considered  too
268       big  to  enable  real-time  scheduling, high-priority scheduling can be
269       enabled instead (i.e. negative nice level).  This  can  be  enabled  by
270       passing  --high-priority  (see  above) when starting PulseAudio and may
271       also be enabled with the approriate  option  in  daemon.conf.  Negative
272       nice  levels  can  only  be enabled when the appropriate resource limit
273       RLIMIT_NICE is set (see setrlimit(2) for  more  information),  possibly
274       configured in /etc/security/limits.conf. A resource limit of 31 (corre‐
275       sponding with nice level -11) is recommended.
276

ENVIRONMENT VARIABLES

278       The PulseAudio client libraries check for the existance of the  follow‐
279       ing  environment variables and change their local configuration accord‐
280       ingly:
281
282       $PULSE_SERVER: the server string specifying the server  to  connect  to
283       when a client asks for a sound server connection and doesn't explicitly
284       ask for a specific server.
285
286       $PULSE_SINK: the symbolic name of the sink to connect to when a  client
287       creates  a  playback  stream  and doesn't explicitly ask for a specific
288       sink.
289
290       $PULSE_SOURCE: the symbolic name of the source to  connect  to  when  a
291       client  creates  a  record stream and doesn't explicitly ask for a spe‐
292       cific source.
293
294       $PULSE_BINARY: path of PulseAudio executable to run when  server  auto-
295       spawning is used.
296
297       $PULSE_CLIENTCONFIG:  path  of  file  that  shall  be  read  instead of
298       client.conf (see above) for client configuration.
299
300       $PULSE_COOKIE: path of file that contains the PulseAudio authentication
301       cookie.  Defaults to ~/.pulse-cookie. The cookie must be shared between
302       users that want to connect to the same server.
303
304       These environment settings take precedence -- if set -- over  the  con‐
305       figuration settings from client.conf (see above).
306

AUTHORS

308       The  PulseAudio  Developers  <mzchyfrnhqvb  (at)  0pointer  (dot) net>;
309       PulseAudio is available from http://pulseaudio.org/
310

SEE ALSO

312       pulse-daemon.conf(5), default.pa(5), pulse-client.conf(5), pacmd(1)
313
314
315
316Manuals                              User                        pulseaudio(1)
Impressum