Я пытаюсь бежать MPD сервер на Ubuntu 12.04.3. Все работало с Ubuntu 11.10 и даже с более ранней 12.04. Я использую Sonata в качестве внешнего интерфейса, и я подключаюсь, плейлисты доступны, я могу выбрать песню, проиграть ее - кроме вывода звука. Звуковая система основана на импульсно-аудио.
MPD имеет довольно хорошие Wiki и импульсная аудио конфигурация покрыто тоже. Я пытался отладить свои проблемы, но все равно не получил работу.
Что я имею? Я имею:
MPD-демон, работающий с запущенным Pulse-Audio, в
$ ps aux | grep -i mpd mpd 13770 3.9 5.4 144500 13636 ? Ssl Sep13 331:18 /usr/bin/mpd /etc/mpd.conf mpd 13778 1.4 1.0 88516 2532 ? Sl Sep13 119:21 /usr/bin/pulseaudio --start --log-target=syslog
В /etc/mpd.conf у меня есть
audio_output { type "pulse" name "MPD PulseAudio Output" # sink your-sink-name-here" }
ради /etc/pulse/client.conf я включил автоспуск (уже по умолчанию?):
autospawn = yes
в /var/log/mpd/mpd.log я вижу проигранные песни
под пользователем "mpd" я могу играть музыку с mplayer и это хорошо работает с Pulse-Audio
я не может получить
список приемников под обычным пользователем или mpd:
$ pacmd list-sinks No PulseAudio daemon running, or not running as session daemon.
любой звук с mpd-сервера
В системном журнале я вижу, что импульс не может подключиться к шине D, например:
Sep 19 20:43:23 musa pulseaudio[787]: [pulseaudio] module-always-sink.c: Unable to load module-null-sink
Sep 19 20:43:54 musa pulseaudio[1098]: [pulseaudio] server-lookup.c: Unable to contact D-Bus: org.freedesktop.DBus.Error.NotSupported: Unable to autolaunch a dbus-daemon without a $DISPLAY for X11
Sep 19 20:43:54 musa pulseaudio[1098]: [pulseaudio] main.c: Unable to contact D-Bus: org.freedesktop.DBus.Error.NotSupported: Unable to autolaunch a dbus-daemon without a $DISPLAY for X11
Как заставить MPD работать снова?
pacmd list-sinks
?pacmd list-sinks
в моем сообщении и б) mplayer хорошо играет как под обычным пользователем, так и под mpd-пользователем. Я вижу, что есть проблема с подключением к D-BUS.Ответы:
Я использую Archlinux, а не Ubuntu, но у меня была такая же проблема. Очевидно, причина того, что списочные приемники pacmd не работали, заключается в том, что, по-видимому, необходимо установить среду DISPLAY ( обсуждение на форуме ). После того, как я установил это для пользователя, я мог получить список приемников. Я перенастроил systemd mpd.service, чтобы запустить mpd от моего пользователя, и установил Environment = "DISPLAY =: 0"
К сожалению, это означает, что пользователь должен войти в сеанс X, а в системе установлен xorg. Я думаю, что вы можете перенастроить PulseAudio для запуска в качестве демона для всей системы, но с возможными проблемами безопасности ( кроме этой рекламы, я не знаю точно, что они )
источник