MPD и PulseAudio
- Подробности
- Просмотров: 6127
Как то давно поставил себе MPD. Для тех, кто не в теме: MPD - это такой демонный проигрыватель музыки. Запускаем его просто в фоне, а музыку переключаем посредством дополнительного клиента. Это кстати очень удобно ибо клиент может выглядеть самым разнообразным способом, вплоть до какого-нибудь Web-интерфейса, сваянного на PHP. И возможности для вывода самые разные: ALSA, OSS, PulseAudio, JACK, можно транслировать музыку в сеть как радио. Когда на ноуте ещё была чисто ALSA то проблем вроде не было. Но вот обновился я до GNOME3... ВНЕЗАПНО потребовался PulseAudio...

Тут и появилась проблема. Выводить MPD через PulseAudio то умеет, но он пытается запустить его от своего имени. А поскольку мой уже захватил на себя звуковуху, то он вывести звук уже не может. Ну а если повезёт и всё-таки он её отвоюет, то я не могу звук выводить, иногда даже если на паузу поставлю. И это вызывает неилюзорный баттхёрт. Поэтому я заинтерисовался вопросом как запустить MPD от своего имени.
Всё оказалось довольно таки просто. И как это сделать не есть секретно, походу даже в документации высветлен данный момент, хотя не уверен, не читал её всю. Это узнал откуда-то из интернетов.
Шаг 1. Конфиг.
Просто взял и скопировал имеющийся конфиг к себе в home:
$ cp /etc/mpd.conf ~/.mpdconf
Там пришлось кое-что поправить. В первую очередь - это пути:
music_directory "/путь/к/музыке"
playlist_directory "/home/username/.mpd/playlists"
db_file "/home/username/.mpd/mpd.db"
log_file "/home/username/.mpd/mpd.log"
pid_file "/home/username/.mpd/mpd.pid"
state_file "/home/username/.mpd/mpdstate"
Очевидно, что я переложил все служебные файлы к себе в папку. Далее всё-таки сказал ему, чтобы запускался от моего имени:
user "username"
Так же на всякий случай подправлю путь к сокету (если Вы не используете, то и править ничего не надо):
bind_to_address "/home/username/.mpd/mpdsock"
И самое главное - это звуковой вывод. Я удалил все секции audio_output кроме этой:
audio_output {
type "pulse"
name "Pulse Audio"
}
Тоесть той, которая описыват PulseAudio. Всё сводится к тому, что он просто законнектится к моему PulseAudio и не будет никому мешать.
Шаг 2. Папки.
Далее создадим папки и файлы для работы MPD. Мы их уже упоминали, когда писали конфиг.
$ mkdir ~/.mpd
$ mkdir ~/.mpd/playlists
$ touch ~/.mpd/mod.{db,log,pid}
$ touch ~/.mpd/mpdstate
Папки и файлы созданы. Всё готово.
Шаг 3. Запуск.
Запускать демон очень просто:
$ mpd
и всё, он запущен. Коннетимся мы согласно тем настройкам, которые записаны в .mpdconf. Я их не менял, поэтому всё так и осталось: 127.0.0.1:6600 если идти через TCP/IP. Ну или можно соединятся с сокетом /home/username/.mpd/mpdsock. Если что, лично я использую клиент gmpc. Если приспичит потушить демон то:
$mpd --kill
Вот так. Приятного прослушивания, товарищи.
