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 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
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
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
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
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
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
322 The PulseAudio Developers <pulseaudio-discuss (at) lists (dot)
323 freedesktop (dot) org>; PulseAudio is available from http://pulseau‐
324 dio.org/
325
327 pulse-daemon.conf(5), default.pa(5), pulse-client.conf(5), pacmd(1)
328
329
330
331Manuals User pulseaudio(1)