Когда я пытаюсь играть mpd через pulseaudio, mpd.log сообщает:
pulse_output: Не удалось включить "Розовый ROCKI" [импульс]: pa_context_connect () перестал работать:В соединении отказано
Мой mpd.conf файл является ванильным; импульсный раздел является дженериком:
audio_output {
type "pulse"
name "General Pulse"
}
Хотя, поскольку laugeo предлагает ниже, я также попытался указать отдельный приемник, оба по имени:
audio_output {
type "pulse"
name "ROCKI"
sink "raop_output.ASAP1826T.local"
}
и индексом #:
audio_output {
type "pulse"
name "ROCKI"
sink "4"
}
Что я должен попробовать затем? Мог конфигурирование pulseaudio для выполнения как справка системной службы?
Это находится на Ubuntu 14.04, pulseaudio 4.0 (и 5.0), Демон Аудиоплеера 0.18.7
Обновление: Я нашел этот блог, где блоггер Louiz, кажется, решил то же (или очень похожий) проблема:
MPD, по-видимому, пытается породить новый процесс pulseaudio как мой собственный пользователь, и он перестал работать, потому что он уже работает. Я не мог понять, почему это не могло только использовать существующий pulseaudio экземпляр, не пытаясь породить новый.
Я понял благодаря этому сообщению.
MPD не мог найти уже рабочий pulseaudio экземпляр, потому что переменная среды, XDG_RUNTIME_DIR не был установлен, и thet’s, где pulseaudio хранит свои файлы (сокет, pid процесса, и т.д.).
Я попробовал его решение:
создание нового файла/etc/systemd/system/mpd.service.d/fixenv.conf содержащий:
[Сервис] Environment=XDG_RUNTIME_DIR =/run/user/1000
(Замените 1000 идентификатором UNIX Вашего пользователя.)
Я перезагрузил, и XDG_RUNTIME_DIR был установлен правильно, и импульс поместил свой изодромный с предварением файл в/run/user/1000/pulse/каталог (мой идентификатор пользователя 1000), но я все еще получаю ту же ошибку от mpd:
pulse_output: Не удалось включить "ROCKI" [импульс]: pa_context_connect () перестал работать:В соединении отказано
Я узнаю больше о Linux каждый день, но сокеты, процесс pids, systemd (разве Ubuntu, как предполагается, не использует выскочку? systemd, кажется, выполняет и запускает вещи), и т.д. все выше моего ранга оплаты прямо сейчас - я потерян в лесах.
Наконец, лучше, чем pulseaudio режим демона, лучшее решение там : это о выполнении mpd как самостоятельно (и не mpd пользователь), таким образом, у Вас нет проблемы использовать Вашу собственную сессию pulseaudio.
А различный ответ, но протестированный и также работа:
настраивают pulseaudio, чтобы работать как "режим демона" вместо стандартного "непривилегированного режима"
sudo gedit /etc/init/pulseaudio.conf
#
для получения: start on runlevel [2345]
sudo usermod -aG pulse,pulse-access mpd
sudo usermod -aG pulse,pulse-access your-login
Теперь перезагрузка: надо надеяться, это будет работать.
Примечание: Для получения информации этот страница перечисляет причины, почему необходимо избежать pulseaudio режима демона, но я нахожу его хорошо на ПК отдельного пользователя (особенно, я не вижу больше CPU/использования памяти, чем непривилегированный режим).
Решение XDG_RUNTIME_DIR работало на меня, но нет никакой потребности создать файл в/etc/systemd/system. Просто добавьте эту строку в/etc/init.d/mpd:
export XDG_RUNTIME_DIR=/run/user/1000
я уже определил mpd для выполнения как мой собственный пользователь и "аудио" группа в/etc/mpd.conf.
Можно попытаться определить, что pulseaudio впитывают файл конфигурации MPD:
Для отображения приемников pulseaudio выполните эту команду в терминале:
pactl list short sinks
Это произведет что-то как:
0 alsa_output.pci-0000_00_03.0.hdmi-stereo module-alsa-card.c s16le 2ch 44100Hz IDLE
1 alsa_output.pci-0000_00_1b.0.analog-stereo module-alsa-card.c s16le 2ch 44100Hz RUNNING
Выбирают Ваш основной приемник (2-й в моем случае, потому что у меня нет звука HDMI), и скопируйте его имя в mpd.conf audio_output:
audio_output {
type "pulse"
name "MPD PulseAudio Output"
sink "alsa_output.pci-0000_00_1b.0.analog-stereo"
}