<?xml version="1.0"?><!--*-nxml-*-->
<!DOCTYPE manpage SYSTEM "xmltoman.dtd">
<?xml-stylesheet type="text/xsl" href="xmltoman.xsl" ?>

<!--
This file is part of PulseAudio.

PulseAudio is free software; you can redistribute it and/or modify it
under the terms of the GNU Lesser General Public License as
published by the Free Software Foundation; either version 2.1 of the
License, or (at your option) any later version.

PulseAudio is distributed in the hope that it will be useful, but WITHOUT
ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General
Public License for more details.

You should have received a copy of the GNU Lesser General Public
License along with PulseAudio; if not, see <http://www.gnu.org/licenses/>.
-->

<manpage name="pulse-client.conf" section="5" desc="PulseAudio client configuration file">

  <synopsis>
    <p><file>~/.config/pulse/client.conf</file></p>
    <p><file>~/.config/pulse/client.conf.d/*.conf</file></p>
    <p><file>@PA_DEFAULT_CONFIG_DIR@/client.conf</file></p>
    <p><file>@PA_DEFAULT_CONFIG_DIR@/client.conf.d/*.conf</file></p>
  </synopsis>

  <description>
    <p>The PulseAudio client library reads configuration directives from
    a configuration file on startup. If the per-user file
    <file>~/.config/pulse/client.conf</file> exists, it is used, otherwise the
    system configuration file <file>@PA_DEFAULT_CONFIG_DIR@/client.conf</file>
    is used. In addition to those main files, configuration directives can also
    be put in files under directories
    <file>~/.config/pulse/client.conf.d/</file> and
    <file>@PA_DEFAULT_CONFIG_DIR@/client.conf.d/</file>. Those files have to
    have the .conf file name extension, but otherwise the file names can be
    chosen freely. The files under client.conf.d are processed in alphabetical
    order. In case the same option is set in multiple files, the last file to
    set an option overrides earlier files. The main client.conf file is
    processed first, so options set in files under client.conf.d override the
    main file.</p>

    <p>The configuration file is a simple collection of variable
    declarations. If the configuration file parser encounters either ;
    or # it ignores the rest of the line until its end.</p>

    <p>For the settings that take a boolean argument the values
    <opt>true</opt>, <opt>yes</opt>, <opt>on</opt> and <opt>1</opt>
    are equivalent, resp. <opt>false</opt>, <opt>no</opt>,
    <opt>off</opt>, <opt>0</opt>.</p>

  </description>

  <section name="Directives">

    <option>
      <p><opt>default-sink=</opt> The default sink to connect to. If
      specified overwrites the setting in the daemon. The environment
      variable <opt>$PULSE_SINK</opt> however takes precedence.</p>
    </option>

    <option>
      <p><opt>default-source=</opt> The default source to connect
      to. If specified overwrites the setting in the daemon. The
      environment variable <opt>$PULSE_SOURCE</opt> however takes
      precedence.</p>
    </option>

    <option>
      <p><opt>default-server=</opt> The default server to connect
      to. The environment variable <opt>$PULSE_SERVER</opt> takes
      precedence.</p>
    </option>

    <option>
      <p><opt>autospawn=</opt> Autospawn a PulseAudio daemon when needed. Takes
      a boolean value, defaults to <opt>yes</opt>. Note that setting this to
      "no" doesn't disable the systemd service. The autospawn option is only
      meant to be used on systems without systemd. If you use systemd to start
      PulseAudio, use "systemctl --user stop pulseaudio.service
      pulseaudio.socket" to stop the daemon temporarily, or "systemctl --user
      mask pulseaudio.service pulseaudio.socket" to permanently disable the
      units (the "disable" command of systemctl probably won't work, because
      the pulseaudio.socket unit is often installed to
      /usr/lib/systemd/user/sockets.target.wants/, which makes it impossible to
      disable the unit with the "disable" command).</p>
    </option>

    <option>
      <p><opt>daemon-binary=</opt> Path to the PulseAudio daemon to
      run when autospawning. Defaults to a path configured at compile
      time.</p>
    </option>

    <option>
      <p><opt>extra-arguments=</opt> Extra arguments to pass to the
      PulseAudio daemon when autospawning. Defaults to
      <opt>--log-target=syslog</opt>
      </p>
    </option>

    <option>
      <p><opt>cookie-file=</opt> Specify the path to the PulseAudio
      authentication cookie. Defaults to
      <file>~/.config/pulse/cookie</file>.</p>
    </option>

    <option>
      <p><opt>enable-shm=</opt> Enable data transfer via POSIX
      or memfd shared memory. Takes a boolean argument, defaults to
      <opt>yes</opt>. If set to <opt>no</opt>, communication with
      the server will be exclusively done through data-copy over
      sockets.</p>
    </option>

    <option>
      <p><opt>enable-memfd=</opt>. Enable data transfer via memfd
      shared memory. Takes a boolean argument, defaults to
      <opt>yes</opt>.</p>
    </option>

    <option>
      <p><opt>shm-size-bytes=</opt> Sets the shared memory segment
      size for clients, in bytes. If left unspecified or is set to 0
      it will default to some system-specific default, usually 64
      MiB. Please note that usually there is no need to change this
      value, unless you are running an OS kernel that does not do
      memory overcommit.</p>
    </option>

    <option>
      <p><opt>auto-connect-localhost=</opt> Automatically try to
      connect to localhost via IP. Enabling this is a potential
      security hole since connections are only authenticated one-way
      and a rogue server might hence fool a client into sending it its
      private (e.g. VoIP call) data. This was enabled by default on
      PulseAudio version 0.9.21 and older. Defaults to
      <opt>no</opt>.</p>
    </option>

    <option>
      <p><opt>auto-connect-display=</opt> Automatically try to connect
      to the host X11's $DISPLAY variable is set to. The same security
      issues apply as to <opt>auto-connect-localhost=</opt>. Defaults
      to <opt>no</opt>.</p>
    </option>

  </section>

  <section name="Authors">
    <p>The PulseAudio Developers &lt;@PACKAGE_BUGREPORT@&gt;;
    PulseAudio is available from <url href="@PACKAGE_URL@"/></p>
  </section>

  <section name="See also">
    <p>
      <manref name="pulse-daemon.conf" section="5"/>, <manref name="pulseaudio" section="1"/>
    </p>
  </section>

</manpage>
