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 --daemonize.
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. Note
87              that when running as a systemd service you should  use  --daemo‐
88              nize=no for systemd notification to work.
89
90       --fail[=BOOL]
91              Fail  startup  when any of the commands specified in the startup
92              script default.pa (see below) fails.
93
94       --high-priority[=BOOL]
95              Try to acquire a high Unix nice level. This will only succeed if
96              the  calling  user has a non-zero RLIMIT_NICE resource limit set
97              (on systems that support this), or we're configured to be run as
98              system  daemon (see --system above). It is recommended to enable
99              this, since it is only a negligible security risk (see below).
100
101       --realtime[=BOOL]
102              Try to acquire  a  real-time  scheduling  for  PulseAudio's  I/O
103              threads.  This  will only succeed if the calling user has a non-
104              zero RLIMIT_RTPRIO resource limit set (on systems  that  support
105              this),  or  rtkit  is  available and allows PulseAudio to enable
106              real-time scheduling, or we are configured to be run  as  system
107              daemon (see --system above).
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       --disallow-exit[=BOOL]
117              Disallow user requested exit
118
119       --exit-idle-time=SECS
120              Terminate the daemon after the last client quit and this time in
121              seconds passed. Use a negative value to  disable  this  feature.
122              Defaults to 20.
123
124              When  PulseAudio  runs  in the per-user mode and detects a login
125              session, then any positive value will be  reset  to  0  so  that
126              PulseAudio  will  terminate  immediately  on  logout. A positive
127              value therefore has effect only in environments where there's no
128              support  for  login session tracking. A negative value can still
129              be used to disable any automatic exit.
130
131              When PulseAudio runs in  the  system  mode,  automatic  exit  is
132              always disabled, so this option does nothing.
133
134       --scache-idle-time=SECS
135              Unload  autoloaded samples from the cache when they haven't been
136              used for the specified number of seconds.
137
138       --log-level[=LEVEL]
139              If an argument is passed, set the log  level  to  the  specified
140              value, otherwise increase the configured verbosity level by one.
141              The log levels are numerical  from  0  to  4,  corresponding  to
142              error,  warn,  notice, info, debug. Default log level is notice,
143              i.e. all log messages with lower log levels are printed:  error,
144              warn, notice.
145
146       -v | --verbose
147              Increase  the configured verbosity level by one (see --log-level
148              above). Specify multiple times to increase  log  level  multiple
149              times.
150
151       --log-target={auto,syslog,journal,stderr,file:PATH,newfile:PATH}
152              Specify  the  log target. If set to auto (which is the default),
153              then logging is directed to syslog when --daemonize  is  passed,
154              otherwise  to  STDERR.  If set to journal logging is directed to
155              the systemd journal. If set to file:PATH, logging is directed to
156              the  file  indicated by PATH. newfile:PATH is otherwise the same
157              as file:PATH, but existing files are never overwritten.  If  the
158              specified  file  already  exists,  a suffix is added to the file
159              name to avoid overwriting.
160
161       --log-meta[=BOOL]
162              Show source code location in log messages.
163
164       --log-time[=BOOL]
165              Show timestamps in log messages.
166
167       --log-backtrace=FRAMES
168              When FRAMES is greater than 0, log  for  each  message  a  stack
169              trace up to the number of specified stack frames.
170
171       -p | --dl-search-path=PATH
172              Set the search path for dynamic shared objects (plugins).
173
174       --resample-method=METHOD
175              Use  the  specified  resampler  by default (See --dump-resample-
176              methods above for possible values).
177
178       --use-pid-file[=BOOL]
179              Create a PID file. If this options is disabled it is possible to
180              run multiple sound servers per user.
181
182       --no-cpu-limit[=BOOL]
183              Do not install CPU load limiter on platforms that support it. By
184              default, PulseAudio will terminate itself when it  notices  that
185              it  takes  up  too much CPU time. This is useful as a protection
186              against system lockups when real-time scheduling  is  used  (see
187              below).  Disabling  this  mechanism  is  useful  when  debugging
188              PulseAudio with tools like valgrind(1) which  slow  down  execu‐
189              tion.
190
191       --disable-shm[=BOOL]
192              PulseAudio  clients  and  the server can exchange audio data via
193              POSIX or memfd shared memory segments (on systems  that  support
194              this).  If disabled PulseAudio will communicate exclusively over
195              sockets. Please note that data transfer via shared  memory  seg‐
196              ments  is always disabled when PulseAudio is running with --sys‐
197              tem enabled (see above).
198
199       --enable-memfd[=BOOL]
200              PulseAudio clients and the server can exchange  audio  data  via
201              memfds  - the anonymous Linux Kernel shared memory mechanism (on
202              kernels that support this). If disabled PulseAudio will communi‐
203              cate via POSIX shared memory.
204
205       -L | --load="MODULE ARGUMENTS"
206              Load the specified plugin module with the specified arguments.
207
208       -F | --file=FILENAME
209              Run  the  specified script on startup. May be specified multiple
210              times to specify multiple scripts to be run  in  order.  Combine
211              with -n to disable loading of the default script default.pa (see
212              below).
213
214       -C     Open a command interpreter on STDIN/STDOUT after  startup.  This
215              may  be used to configure PulseAudio dynamically during runtime.
216              Equivalent to --load=module-cli.
217
218       -n     Don't  load  default  script  file  default.pa  (see  below)  on
219              startup. Useful in conjunction with -C or --file.
220

FILES

222       ~/.config/pulse/daemon.conf, /etc/pulse/daemon.conf: configuration set‐
223       tings for the PulseAudio daemon. If the  version  in  the  user's  home
224       directory  does  not exist the global configuration file is loaded. See
225       pulse-daemon.conf(5) for more information.
226
227       ~/.config/pulse/default.pa, /etc/pulse/default.pa: the default configu‐
228       ration  script to execute when the PulseAudio daemon is started. If the
229       version in the user's home directory does not exist the global configu‐
230       ration script is loaded. See default.pa(5) for more information.
231
232       ~/.config/pulse/client.conf, /etc/pulse/client.conf: configuration set‐
233       tings for PulseAudio client applications. If the version in the  user's
234       home  directory does not exist the global configuration file is loaded.
235       See pulse-client.conf(5) for more information.
236

SIGNALS

238       SIGINT, SIGTERM: the PulseAudio daemon will shut down (Same as --kill).
239
240       SIGHUP: dump a long status report to STDOUT or syslog, depending on the
241       configuration.
242
243       SIGUSR1:   load   module-cli,   allowing  runtime  reconfiguration  via
244       STDIN/STDOUT.
245
246       SIGUSR2: load module-cli-protocol-unix, allowing  runtime  reconfigura‐
247       tion via a AF_UNIX socket. See pacmd(1) for more information.
248

UNIX GROUPS AND USERS

250       Group  pulse-access:  if  PulseAudio is running as a system daemon (see
251       --system above) access is granted to members of this  group  when  they
252       connect  via AF_UNIX sockets. If PulseAudio is running as a user daemon
253       this group has no meaning.
254
255       User pulse, group pulse: if PulseAudio is running as  a  system  daemon
256       (see --system above) and is started as root the daemon will drop privi‐
257       leges and become a normal user process using this user  and  group.  If
258       PulseAudio is running as a user daemon this user and group has no mean‐
259       ing.
260

REAL-TIME AND HIGH-PRIORITY SCHEDULING

262       To minimize the risk of drop-outs during playback it is recommended  to
263       run  PulseAudio  with  real-time  scheduling if the underlying platform
264       supports it. This decouples the scheduling latency  of  the  PulseAudio
265       daemon  from the system load and is thus the best way to make sure that
266       PulseAudio always gets CPU time when it needs it to refill the hardware
267       playback  buffers.  Unfortunately  this  can be a security risk on some
268       systems, since PulseAudio runs as user  process,  and  giving  realtime
269       scheduling  privileges  to  a  user always comes with the risk that the
270       user misuses it to lock up the system -- which is possible since making
271       a  process  real-time  effectively  disables  preemption. To solve this
272       problem, PulseAudio uses rtkit to safely acquire  real-time  scheduling
273       when available.
274
275       If  the  risk of locking up the machine is considered too big to enable
276       real-time scheduling, high-priority scheduling can be  enabled  instead
277       (i.e.  negative nice level). This can be enabled by passing --high-pri‐
278       ority (see above) when starting PulseAudio and may also be enabled with
279       the appropriate option in daemon.conf. Negative nice levels can only be
280       enabled when the appropriate resource limit  RLIMIT_NICE  is  set  (see
281       setrlimit(2)  for  more information), possibly configured in /etc/secu‐
282       rity/limits.conf. A resource limit of 31 (corresponding with nice level
283       -11) is recommended.
284

ENVIRONMENT VARIABLES

286       The  PulseAudio client libraries check for the existence of the follow‐
287       ing environment variables and change their local configuration  accord‐
288       ingly:
289
290       $PULSE_SERVER:  the  server  string specifying the server to connect to
291       when a client asks for a sound server connection and doesn't explicitly
292       ask  for  a  specific  server.  The  server  string is a list of server
293       addresses separated by whitespace which are tried  in  turn.  A  server
294       address  consists  of  an optional address type specifier (unix:, tcp:,
295       tcp4:, tcp6:), followed by a path or host address. A host  address  may
296       include  an optional port number. A server address may be prefixed by a
297       string enclosed in {}. In this case the  following  server  address  is
298       ignored  unless  the  prefix  string  equals  the local hostname or the
299       machine id (/etc/machine-id).
300
301       $PULSE_SINK: the symbolic name of the sink to connect to when a  client
302       creates  a  playback  stream  and doesn't explicitly ask for a specific
303       sink.
304
305       $PULSE_SOURCE: the symbolic name of the source to  connect  to  when  a
306       client  creates  a  record stream and doesn't explicitly ask for a spe‐
307       cific source.
308
309       $PULSE_BINARY: path of PulseAudio executable to run when  server  auto-
310       spawning is used.
311
312       $PULSE_CLIENTCONFIG:  path  of  file  that  shall  be  read  instead of
313       client.conf (see above) for client configuration.
314
315       $PULSE_COOKIE: path of file that contains the PulseAudio authentication
316       cookie. Defaults to ~/.config/pulse/cookie.
317
318       These  environment  settings take precedence -- if set -- over the con‐
319       figuration settings from client.conf (see above).
320

AUTHORS

322       The  PulseAudio  Developers  <pulseaudio-discuss   (at)   lists   (dot)
323       freedesktop  (dot)  org>;  PulseAudio is available from http://pulseau
324       dio.org/
325

SEE ALSO

327       pulse-daemon.conf(5), default.pa(5), pulse-client.conf(5), pacmd(1)
328
329
330
331Manuals                              User                        pulseaudio(1)
Impressum