相关文章推荐

Version, Distribution, Desktop Environment: 0.3.20 , Arch Linux, headless

Description of Problem: I have a mpd setup that used to work with pulseaudio . After installing pipewire-pulse , a system mpd can no longer connect to the pulse socket.

$ machinectl shell [email protected] /bin/bash 
Connected to the local host. Press ^] three times within 1s to exit session.
[mpd@ubik ~]$ XDG_RUNTIME_DIR= mpd --no-daemon --stderr
exception: bind to '0.0.0.0:6600' failed (continuing anyway, because binding to '[::]:6600' succeeded): Failed to bind socket: Address already in use
exception: Decoder plugin 'wildmidi' is unavailable: configuration file does not exist: /etc/timidity/timidity.cfg
Failed to initialize io_uring: io_uring_queue_init() failed: Cannot allocate memory
## v---
Failed to create secure directory (/pulse): Permission denied
exception: Failed to enable output "MPD PulseAudio Output" (pulse); pa_context_connect() has failed: Connection refused
## ^--
avahi: Service 'Music Player @ ubik.home' successfully established.
[mpd@ubik ~]$ mpd --no-daemon --stderr
exception: bind to '0.0.0.0:6600' failed (continuing anyway, because binding to '[::]:6600' succeeded): Failed to bind socket: Address already in use
exception: Decoder plugin 'wildmidi' is unavailable: configuration file does not exist: /etc/timidity/timidity.cfg
Failed to initialize io_uring: io_uring_queue_init() failed: Cannot allocate memory
avahi: Service 'Music Player @ ubik.home' successfully established.

Notice how it's trying to create /pulse :

[mpd@ubik ~]$ XDG_RUNTIME_DIR= strace -e %file -f mpd --no-daemon --stderr 2>&1 | grep EACCES
[pid 963861] mkdir("/pulse", 0700)      = -1 EACCES (Permission denied)

I think pulseaudio and pipewire-pulse differ in their handling of an unset XDG_RUNTIME_DIR , in spite of #259 (closed) .

Edited by Laurențiu Nicola
 
推荐文章