1pulseaudio(1) General Commands Manual pulseaudio(1)
2
3
4
6 pulseaudio - The PulseAudio Sound System
7
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
30 PulseAudio is a networked low-latency sound server for Linux, POSIX and
31 Windows systems.
32
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 called SUID root (see
98 below), or we are configure to be run as system daemon (see
99 --system above). It is recommended to enable this, since it is
100 only a negligible security risk (see below).
101
102 --realtime[=BOOL]
103 Try to acquire a real-time scheduling for PulseAudio's I/O
104 threads. This will only succeed if the calling user has a non-
105 zero RLIMIT_RTPRIO resource limit set (on systems that support
106 this), or we're called SUID root (see below), or we are config‐
107 ure to be run as system daemon (see --system above). It is rec‐
108 ommended to enable this only for trusted users, since it is a
109 major security risk (see below).
110
111 --disallow-module-loading[=BOOL]
112 Disallow module loading after startup. This is a security fea‐
113 ture since it disallows additional module loading during runtime
114 and on user request. It is highly recommended when --system is
115 used (see above). Note however, that this breaks certain fea‐
116 tures like automatic module loading on hot plug.
117
118 --disallow-exit[=BOOL]
119 Disallow user requested exit
120
121 --exit-idle-time=SECS
122 Terminate the daemon when idle and the specified number of sec‐
123 onds passed.
124
125 --scache-idle-time=SECS
126 Unload autoloaded samples from the cache when the haven't been
127 used for the specified number of seconds.
128
129 --log-level[=LEVEL]
130 If an argument is passed, set the log level to the specified
131 value, otherwise increase the configured verbosity level by one.
132 The log levels are numerical from 0 to 4, corresponding to
133 error, warn, notice, info, debug. Default log level is notice,
134 i.e. all log messages with lower log levels are printed: error,
135 warn, notice.
136
137 -v | --verbose
138 Increase the configured verbosity level by one (see --log-level
139 above). Specify multiple times to increase log level multiple
140 times.
141
142 --log-target={auto,syslog,journal,stderr,file:PATH,newfile:PATH}
143 Specify the log target. If set to auto (which is the default),
144 then logging is directed to syslog when --daemonize is passed,
145 otherwise to STDERR. If set to journal logging is directed to
146 the systemd journal. If set to file:PATH, logging is directed to
147 the file indicated by PATH. newfile:PATH is otherwise the same
148 as file:PATH, but existing files are never overwritten. If the
149 specified file already exists, a suffix is added to the file
150 name to avoid overwriting.
151
152 --log-meta[=BOOL]
153 Show source code location in log messages.
154
155 --log-time[=BOOL]
156 Show timestamps in log messages.
157
158 --log-backtrace=FRAMES
159 When FRAMES is greater than 0, log for each message a stack
160 trace up to the number of specified stack frames.
161
162 -p | --dl-search-path=PATH
163 Set the search path for dynamic shared objects (plugins).
164
165 --resample-method=METHOD
166 Use the specified resampler by default (See --dump-resample-
167 methods above for possible values).
168
169 --use-pid-file[=BOOL]
170 Create a PID file. If this options is disabled it is possible to
171 run multiple sound servers per user.
172
173 --no-cpu-limit[=BOOL]
174 Do not install CPU load limiter on platforms that support it. By
175 default, PulseAudio will terminate itself when it notices that
176 it takes up too much CPU time. This is useful as a protection
177 against system lockups when real-time scheduling is used (see
178 below). Disabling this mechanism is useful when debugging
179 PulseAudio with tools like valgrind(1) which slow down execu‐
180 tion.
181
182 --disable-shm[=BOOL]
183 PulseAudio clients and the server can exchange audio data via
184 POSIX or memfd shared memory segments (on systems that support
185 this). If disabled PulseAudio will communicate exclusively over
186 sockets. Please note that data transfer via shared memory seg‐
187 ments is always disabled when PulseAudio is running with --sys‐
188 tem enabled (see above).
189
190 --enable-memfd[=BOOL]
191 PulseAudio clients and the server can exchange audio data via
192 memfds - the anonymous Linux Kernel shared memory mechanism (on
193 kernels that support this). If disabled PulseAudio will communi‐
194 cate via POSIX shared memory.
195
196 -L | --load="MODULE ARGUMENTS"
197 Load the specified plugin module with the specified arguments.
198
199 -F | --file=FILENAME
200 Run the specified script on startup. May be specified multiple
201 times to specify multiple scripts to be run in order. Combine
202 with -n to disable loading of the default script default.pa (see
203 below).
204
205 -C Open a command interpreter on STDIN/STDOUT after startup. This
206 may be used to configure PulseAudio dynamically during runtime.
207 Equivalent to --load=module-cli.
208
209 -n Don't load default script file default.pa (see below) on
210 startup. Useful in conjunction with -C or --file.
211
213 ~/.config/pulse/daemon.conf, /etc/pulse/daemon.conf: configuration set‐
214 tings for the PulseAudio daemon. If the version in the user's home
215 directory does not exist the global configuration file is loaded. See
216 pulse-daemon.conf(5) for more information.
217
218 ~/.config/pulse/default.pa, /etc/pulse/default.pa: the default configu‐
219 ration script to execute when the PulseAudio daemon is started. If the
220 version in the user's home directory does not exist the global configu‐
221 ration script is loaded. See default.pa(5) for more information.
222
223 ~/.config/pulse/client.conf, /etc/pulse/client.conf: configuration set‐
224 tings for PulseAudio client applications. If the version in the user's
225 home directory does not exist the global configuration file is loaded.
226 See pulse-client.conf(5) for more information.
227
229 SIGINT, SIGTERM: the PulseAudio daemon will shut down (Same as --kill).
230
231 SIGHUP: dump a long status report to STDOUT or syslog, depending on the
232 configuration.
233
234 SIGUSR1: load module-cli, allowing runtime reconfiguration via
235 STDIN/STDOUT.
236
237 SIGUSR2: load module-cli-protocol-unix, allowing runtime reconfigura‐
238 tion via a AF_UNIX socket. See pacmd(1) for more information.
239
241 Group pulse-rt: if the PulseAudio binary is marked SUID root, then mem‐
242 bership of the calling user in this group decides whether real-time
243 and/or high-priority scheduling is enabled. Please note that enabling
244 real-time scheduling is a security risk (see below).
245
246 Group pulse-access: if PulseAudio is running as a system daemon (see
247 --system above) access is granted to members of this group when they
248 connect via AF_UNIX sockets. If PulseAudio is running as a user daemon
249 this group has no meaning.
250
251 User pulse, group pulse: if PulseAudio is running as a system daemon
252 (see --system above) and is started as root the daemon will drop privi‐
253 leges and become a normal user process using this user and group. If
254 PulseAudio is running as a user daemon this user and group has no mean‐
255 ing.
256
258 To minimize the risk of drop-outs during playback it is recommended to
259 run PulseAudio with real-time scheduling if the underlying platform
260 supports it. This decouples the scheduling latency of the PulseAudio
261 daemon from the system load and is thus the best way to make sure that
262 PulseAudio always gets CPU time when it needs it to refill the hardware
263 playback buffers. Unfortunately this is a security risk on most sys‐
264 tems, since PulseAudio runs as user process, and giving realtime sched‐
265 uling privileges to a user process always comes with the risk that the
266 user misuses it to lock up the system -- which is possible since making
267 a process real-time effectively disables preemption.
268
269 To minimize the risk PulseAudio by default does not enable real-time
270 scheduling. It is however recommended to enable it on trusted systems.
271 To do that start PulseAudio with --realtime (see above) or enabled the
272 appropriate option in daemon.conf. Since acquiring realtime scheduling
273 is a privileged operation on most systems, some special changes to the
274 system configuration need to be made to allow them to the calling user.
275 Two options are available:
276
277 On newer Linux systems the system resource limit RLIMIT_RTPRIO (see
278 setrlimit(2) for more information) can be used to allow specific users
279 to acquire real-time scheduling. This can be configured in /etc/secu‐
280 rity/limits.conf, a resource limit of 9 is recommended.
281
282 Alternatively, the SUID root bit can be set for the PulseAudio binary.
283 Then, the daemon will drop root privileges immediately on startup, how‐
284 ever retain the CAP_NICE capability (on systems that support it), but
285 only if the calling user is a member of the pulse-rt group (see above).
286 For all other users all capabilities are dropped immediately. The
287 advantage of this solution is that the real-time privileges are only
288 granted to the PulseAudio daemon -- not to all the user's processes.
289
290 Alternatively, if the risk of locking up the machine is considered too
291 big to enable real-time scheduling, high-priority scheduling can be
292 enabled instead (i.e. negative nice level). This can be enabled by
293 passing --high-priority (see above) when starting PulseAudio and may
294 also be enabled with the appropriate option in daemon.conf. Negative
295 nice levels can only be enabled when the appropriate resource limit
296 RLIMIT_NICE is set (see setrlimit(2) for more information), possibly
297 configured in /etc/security/limits.conf. A resource limit of 31 (corre‐
298 sponding with nice level -11) is recommended.
299
301 The PulseAudio client libraries check for the existence of the follow‐
302 ing environment variables and change their local configuration accord‐
303 ingly:
304
305 $PULSE_SERVER: the server string specifying the server to connect to
306 when a client asks for a sound server connection and doesn't explicitly
307 ask for a specific server. The server string is a list of server
308 addresses separated by whitespace which are tried in turn. A server
309 address consists of an optional address type specifier (unix:, tcp:,
310 tcp4:, tcp6:), followed by a path or host address. A host address may
311 include an optional port number. A server address may be prefixed by a
312 string enclosed in {}. In this case the following server address is
313 ignored unless the prefix string equals the local hostname or the
314 machine id (/etc/machine-id).
315
316 $PULSE_SINK: the symbolic name of the sink to connect to when a client
317 creates a playback stream and doesn't explicitly ask for a specific
318 sink.
319
320 $PULSE_SOURCE: the symbolic name of the source to connect to when a
321 client creates a record stream and doesn't explicitly ask for a spe‐
322 cific source.
323
324 $PULSE_BINARY: path of PulseAudio executable to run when server auto-
325 spawning is used.
326
327 $PULSE_CLIENTCONFIG: path of file that shall be read instead of
328 client.conf (see above) for client configuration.
329
330 $PULSE_COOKIE: path of file that contains the PulseAudio authentication
331 cookie. Defaults to ~/.config/pulse/cookie.
332
333 These environment settings take precedence -- if set -- over the con‐
334 figuration settings from client.conf (see above).
335
337 The PulseAudio Developers <pulseaudio-discuss (at) lists (dot)
338 freedesktop (dot) org>; PulseAudio is available from http://pulseau‐
339 dio.org/
340
342 pulse-daemon.conf(5), default.pa(5), pulse-client.conf(5), pacmd(1)
343
344
345
346Manuals User pulseaudio(1)