pulse-client.conf(5)

πŸ“¦
version 17.0+r134+g77d25a1e6 Β· 2 versions
  • 17.0+r134+g77d25a1e6 Β· alpine 3.24, arch rolling, centos-stream 10, debian bookworm, debian trixie, fedora 43, fedora 44, nixos 26.05, nixpkgs unstable, ubuntu jammy, ubuntu noble, ubuntu questing, ubuntu resolute, ubuntu stonking (latest)
  • 15.0 Β· centos-stream 9
, in alpine 3.24, arch rolling, centos-stream 10, debian bookworm, debian trixie, fedora 43, fedora 44, nixos 26.05, nixpkgs unstable, ubuntu jammy, ubuntu noble, ubuntu questing, ubuntu resolute, ubuntu stonking

πŸ’– pulse-client.conf β€” the PulseAudio client config, bestie edition πŸ’–

okay so this is pulse-client.conf(5), a File Formats Manual page, and it's literally the glow-up guide for how your PulseAudio client library behaves. pull up a chair, we're doing this together 🫢


✨ SYNOPSIS ✨

like, here's where the files live:

~/.config/pulse/client.conf

~/.config/pulse/client.conf.d/*.conf

/etc/pulse/client.conf

/etc/pulse/client.conf.d/*.conf

🌸 DESCRIPTION 🌸

so when the PulseAudio client library starts up, it reads configuration directives from a config file. no cap. here's the tea β˜•:

if the per-user file ~/.config/pulse/client.conf exists, it's the one that gets used. if it doesn't exist, then the system configuration file /etc/pulse/client.conf gets used instead. slay.

but wait, there's more πŸ’… β€” on top of those main files, you can also drop configuration directives into files under the directories ~/.config/pulse/client.conf.d/ and /etc/pulse/client.conf.d/. those files have to have the .conf file name extension, but other than that you can name them literally whatever you want, go off. the files under client.conf.d are processed in alphabetical order. and if the same option gets set in multiple files? the last file to set an option overrides the earlier files. the main client.conf file is processed first, so anything you set in files under client.conf.d overrides the main file. periodt.

the configuration file itself is just a simple collection of variable declarations. if the config parser runs into either ; or #, it ignores the rest of the line until the end of that line. so comment away, bestie πŸ™ˆ

for the settings that take a boolean argument: the values true, yes, on and 1 are all equivalent, and respectively false, no, off, 0 are the other side of that vibe check.


πŸ‘‘ DIRECTIVES πŸ‘‘

okay this is the main character section, let's go one by one πŸ”₯

  • default-sink= β€” the default sink to connect to. if you specify it, it overwrites the setting in the daemon. the environment variable $PULSE_SINK however takes precedence. iykyk.
  • default-source= β€” the default source to connect to. if you specify it, it overwrites the setting in the daemon. the environment variable $PULSE_SOURCE however takes precedence.
  • default-server= β€” the default server to connect to. the environment variable $PULSE_SERVER takes precedence.
  • autospawn= β€” autospawn a PulseAudio daemon when needed. takes a boolean value, defaults to yes. ⚠️ 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). 😭 systemd really said "no ❀️"
  • daemon-binary= β€” path to the PulseAudio daemon to run when autospawning. defaults to a path configured at compile time.
  • extra-arguments= β€” extra arguments to pass to the PulseAudio daemon when autospawning. defaults to --log-target=syslog.
  • cookie-file= β€” specify the path to the PulseAudio authentication cookie. defaults to ~/.config/pulse/cookie. πŸͺ
  • enable-shm= β€” enable data transfer via POSIX or memfd shared memory. takes a boolean argument, defaults to yes. if you set it to no, communication with the server will be exclusively done through data-copy over sockets.
  • enable-memfd= β€” enable data transfer via memfd shared memory. takes a boolean argument, defaults to yes.
  • shm-size-bytes= β€” sets the shared memory segment size for clients, in bytes. if left unspecified or set to 0, it'll default to some system-specific default, usually 64 MiB. please note that usually there is no need to change this value, unless you're running an OS kernel that does not do memory overcommit. lowkey leave it alone bestie πŸ™ˆ
  • auto-connect-localhost= β€” 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 no. do not.
  • auto-connect-display= β€” automatically try to connect to the host X11's $DISPLAY variable is set to. the same security issues apply as to auto-connect-localhost=. defaults to no. yeah same energy, be careful πŸ’€

πŸ’œ AUTHORS πŸ’œ

The PulseAudio Developers <pulseaudio-discuss (at) lists (dot) freedesktop (dot) org>; PulseAudio is available from http://pulseaudio.org/ 🌈


πŸ¦‹ SEE ALSO πŸ¦‹


and that's the whole page, bestie, you ate it πŸŽ€ this was the pulse-client.conf(5) page from the File Formats Manual, brought to you by the Manuals / User crowd, and yeah, that's the version and date vibe right there β€” go configure something iconic, ily, bye πŸ’–βœ¨