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 --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
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
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
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
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
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 These environment settings take precedence -- if set -- over the con‐
301 figuration settings from client.conf (see above).
302
304 The PulseAudio Developers <mzchyfrnhqvb (at) 0pointer (dot) net>;
305 PulseAudio is available from http://pulseaudio.org/
306
308 pulse-daemon.conf(5), default.pa(5), pulse-client.conf(5), pacmd(1)
309
310
311
312Manuals User pulseaudio(1)