Commit 7276faca authored by Colin Guthrie's avatar Colin Guthrie

launch: Disable autospawn by default when systemd daemon support is enabled.

When enabled, this method is prefered over pulseaudio's built in
systems so we should try our best to ensure that it cannot be spawned
outside of the mechanisms desired.

Packagers should call 'systemctl --global enable pulseaudio.socket' to
enable the socket for all users, or alternatively ship an enabling
symlink in /usr/lib/systemd/user/sockets.target.wants/ folder. It may
also make sense for distributions to add in a ConditionNNN= line to the
socket unit if they have a downstream mechanism for enabling or
disabling pulseaudio.

If individual users wish to opt out of this vendor (or administrator)
decision, they can call 'systemctl --user mask pulseaudio.socket'
parent e542e810
......@@ -1219,6 +1219,9 @@ AS_IF([test "x$enable_systemd_daemon" != "xno"],
AS_IF([test "x$enable_systemd_daemon" = "xyes" && test "x$HAVE_SYSTEMD_DAEMON" = "x0"],
[AC_MSG_ERROR([*** Needed systemd daemon support not found])])
AS_IF([test "x$HAVE_SYSTEMD_DAEMON" = "x1"], [ PA_DEFAULT_AUTOSPAWN=no ], [ PA_DEFAULT_AUTOSPAWN=yes ])
AC_SUBST(PA_DEFAULT_AUTOSPAWN)
AC_SUBST(HAVE_SYSTEMD_DAEMON)
AM_CONDITIONAL([HAVE_SYSTEMD_DAEMON], [test "x$HAVE_SYSTEMD_DAEMON" = x1])
AS_IF([test "x$HAVE_SYSTEMD_DAEMON" = "x1"], AC_DEFINE([HAVE_SYSTEMD_DAEMON], 1, [Have SYSTEMDDAEMON?]))
......
......@@ -69,7 +69,7 @@ USA.
<option>
<p><opt>autospawn=</opt> Autospawn a PulseAudio daemon when
needed. Takes a boolean value, defaults to <opt>yes</opt>.</p>
needed. Takes a boolean value, defaults to <opt>@PA_DEFAULT_AUTOSPAWN@</opt>.</p>
</option>
<option>
......
......@@ -65,7 +65,11 @@ static const pa_client_conf default_conf = {
.cookie_from_x11_valid = false,
.cookie_file_from_application = NULL,
.cookie_file_from_client_conf = NULL,
#ifdef HAVE_SYSTEMD_DAEMON
.autospawn = false,
#else
.autospawn = true,
#endif
.disable_shm = false,
.shm_size = 0,
.auto_connect_localhost = false,
......
......@@ -24,7 +24,7 @@
; default-server =
; default-dbus-server =
; autospawn = yes
; autospawn = @PA_DEFAULT_AUTOSPAWN@
; daemon-binary = @PA_BINARY@
; extra-arguments = --log-target=syslog
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment