Гид по технологиям

Как воспроизводить музыку в терминале Linux с MPD и ncmpcpp

• 6 min read • Linux • Обновлено 04 Dec 2025
MPD + ncmpcpp — музыка в терминале Linux
MPD + ncmpcpp — музыка в терминале Linux

Иллюстрация MPD и ncmpcpp: текстовый интерфейс для воспроизведения музыки в Linux

MPD — это демон для воспроизведения музыки, управляемый через клиентов. ncmpcpp — популярный ncurses-клиент с удобным текстовым интерфейсом и визуализатором. Вместе они дают тонкий контроль над библиотекой, списками воспроизведения и выводом звука — локально и по сети (например, с телефона).

Почему выбрать MPD + ncmpcpp

  • Лёгкий серверный подход: музыка проигрывается демоном, клиенты лишь управляют. Это удобно для фоновго воспроизведения и для headless-систем.
  • Сеть и масштабируемость: клиенты могут подключаться локально или удалённо (при открытом порте/сокете).
  • Полная настройка вывода: ALSA, PulseAudio/PipeWire, FIFO для визуализации.

Важно: этот подход требует базовой работы с конфигурацией и терминалом. Если вы предпочитаете GUI-плееры — возможно, это не ваш вариант.


Установка (Ubuntu / Debian)

Оба пакета есть в репозиториях большинства дистрибутивов. На Ubuntu/Debian установите так:

sudo apt update
sudo apt install mpd ncmpcpp

Если вы используете другой дистрибутив, используйте пакетный менеджер вашего дистрибутива (dnf, pacman и т.п.).

Настройка MPD

Файл конфигурации MPD по умолчанию: /etc/mpd.conf. Можно создавать конфигурации на пользователя, но для домашнего ПК достаточно системной.

Откройте файл в редакторе с root-пивилегиями:

sudo vim /etc/mpd.conf

Файл содержит много опций и комментариев — это хорошо: используйте его как справочник. На практике достаточно изменить несколько опций для корректной работы.

Каталоги

Найдите опцию music_directory и укажите путь к вашей музыкальной библиотеке:

music_directory "/home/user/Music"

Укажите каталог для плейлистов:

playlist_directory "/home/user/Music/playlists"

Альтернатива: если вы используете сетевые ресурсы (NAS), укажите смонтированный путь.

Основные опции

Проверьте параметры user и group. По умолчанию MPD запускается от пользователя mpd:

user    "mpd"
#group    "nogroup"

Настройка соединений: раскомментируйте строку сокета и порт, чтобы клиент мог подключаться.

bind_to_address    "/run/mpd/socket"
port    "6600"

Если вы не хотите, чтобы MPD автоматически начинал воспроизведение после перезапуска, настройте:

restore_paused "yes"

Чтобы MPD автоматически обнаруживал добавленную музыку в каталоге:

auto_update    "yes"

Вывод звука

Скриншот конфигурации MPD: параметры вывода и аудио

MPD может выводить звук через ALSA, PulseAudio/ PipeWire или через FIFO (для визуализаторов).

ALSA

ALSA включена по умолчанию — обычно править ничего не нужно. Пример блока:

audio_output {
    type "alsa"
    name        "My ALSA Device"
#   device      "hw:0,0"    # optional
#   mixer_type      "hardware"      # optional
#   mixer_device    "default"   # optional
#   mixer_control   "PCM"       # optional
#   mixer_index "0"     # optional
}

Если у вас несколько звуковых карт — укажите device=”hw:X,Y”.

PulseAudio / PipeWire

В современных дистрибутивах PulseAudio может быть заменён PipeWire; MPD обычно работает с Pulse-совместимыми сокетами. В файле конфигурации блок Pulse закомментирован — раскомментируйте при необходимости:

audio_output {
    type "pulse"
    name        "My Pulse Output"
#   server      "remote_server"     # optional
#   sink        "remote_server_sink"    # optional
}

Примечание: если на системе используется PipeWire, оставьте Pulse-блок, он часто совместим; в некоторых случаях понадобятся дополнительные пакеты (например, pipewire-pulse).

FIFO (для визуализатора)

Если вы хотите использовать визуализатор (в ncmpcpp или другом клиенте), настройте FIFO-выход:

audio_output {
    type "fifo"
    name                    "fifo_mpd"
    path                    "/tmp/mpd.fifo"
    format                  "44100:16:2"
}

Этот FIFO будет читать визуализатор, поэтому путь и name должны совпадать с настройками клиента.

Сохраните файл и перезапустите MPD

После правок перезапустите службу:

sudo systemctl restart mpd
sudo systemctl status mpd

Если mpd настроен запускаться как системный сервис, systemd покажет статус и ошибки.

Добавить mpd в группу audio

Чтобы MPD мог обращаться к звуковым устройствам, добавьте пользователя mpd в группу audio:

sudo gpasswd -a mpd audio

После этого может потребоваться выход/вход или перезапуск демона.

Настройка ncmpcpp

ncmpcpp — ncurses-клиент для управления MPD. Конфигурационный файл пользователя обычно находится в ~/.ncmpcpp/config.

Создайте папку и скопируйте шаблон конфигурации:

mkdir -p ~/.ncmpcpp
sudo gunzip -c /usr/share/doc/ncmpcpp/config.gz > ~/.ncmpcpp/config || sudo cp /usr/share/doc/ncmpcpp/config ~/.ncmpcpp/config
sudo chown -R $(whoami):$(whoami) ~/.ncmpcpp/config

(В зависимости от дистрибутива файл шаблона может находиться в другом месте; приведённый вариант пытается распаковать gzip-версию и, при неудаче, копирует обычный файл.)

Подключение к MPD

Откройте ~/.ncmpcpp/config и раскомментируйте/укажите соединение:

mpd_host = "localhost"
mpd_port = "6600"
mpd_connection_timeout = 5

Укажите путь к музыкальной библиотеке:

mpd_music_dir = "/home/user/Music"
mpd_crossfade_time = 2

Визуализатор

Укажите путь к FIFO и имя выходного устройства, соответствующее MPD:

visualizer_fifo_path = "/tmp/mpd.fifo"
visualizer_output_name = "fifo_mpd"

Параметры синхронизации и вида визуализатора:

visualizer_in_stereo = yes
visualizer_sample_multiplier = 1
visualizer_sync_interval = 30

## Available values: spectrum, wave, wave_filled, ellipse.
visualizer_type = wave
visualizer_look = ●▮
#visualizer_color = blue, cyan, green, yellow, magenta, red
visualizer_color = 41, 83, 119, 155, 185, 215, 209, 203, 197, 161

Попробуйте разные визуальные стили и цвета в зависимости от возможностей терминала.

Использование ncmpcpp

ncmpcpp: окно с плейлистом и визуализатором в терминале

Запустите клиент:

ncmpcpp

ncmpcpp открывается с пустым плейлистом по умолчанию. Интерфейс разбит на вкладки (панели), переключение — цифрами 1..n:

  • 1 — Плейлист
  • 2 — Проводник файлов (File Browser)
  • 3 — Поиск
  • 4 — Библиотека (Library)
  • 5 — Редактор плейлистов
  • 6 — Редактор тегов (внимательно)
  • 7 — Выходы (Outputs)
  • 8 — Визуализатор

Навигация: стрелки, Enter для воспроизведения, Space для добавления в плейлист.

Частые горячие клавиши (шпаргалка)

  • Space — Добавить в плейлист
  • Enter — Воспроизвести
  • — Следующая композиция

  • < — Предыдущая композиция
  • s — Стоп
  • p — Пауза
  • o — Переместиться к текущей композиции
  • z — Переключить случайное воспроизведение (shuffle)
  • x — Переключить кроссфейд
  • l — Показать текст песни (lyrics)
  • S — Сохранить плейлист

Полный список клавиш доступен в документации ncmpcpp или в файле конфигурации.

Проверка работоспособности и типичные ошибки

  1. MPD не запускается — проверьте sudo systemctl status mpd и journalctl -u mpd -b для логов.
  2. Клиент не подключается — проверьте путь сокета и порт (bind_to_address и port), права доступа к сокету и firewall.
  3. Нет звука — проверьте, что MPD использует правильный аудио-выход (ALSA/Pulse), и что пользователь mpd в группе audio.
  4. Визуализатор пустой — проверьте, что FIFO создан и имеет права для чтения/записи, что имя выхода совпадает.

Важно: если вы используете PulseAudio как обычный пользователь, а mpd запущен системно — может возникнуть конфликт прав/сессий. Решение: запустить mpd от пользователя, а не как системный демон, или использовать socket-режим.

Полезные команды для отладки

systemctl status mpd
journalctl -u mpd -f
ss -ltnp | grep 6600
ls -l /run/mpd
file /tmp/mpd.fifo

Чек-листы по ролям

  • Обычный десктоп-пользователь:

    • Установить пакеты, настроить mpd.conf с ALSA или Pulse
    • Добавить mpd в группу audio
    • Перезапустить mpd и запустить ncmpcpp
  • Headless-сервер (без звуковой карты, аудио — через сетевой стрим):

    • Использовать FIFO или сетевой выход (streaming)
    • Открыть порт 6600 к доверенным клиентам или использовать SSH-туннель
    • Использовать systemd-run для фонового процесса
  • Пользователь мобильного клиента:

    • Настроить mpd bind_to_address на реальный IP или использовать reverse proxy/SSH
    • Включить аутентификацию на сетевом уровне (VPN/SSH)

Мини-методология быстрой настройки (5 шагов)

  1. Установить mpd и ncmpcpp.
  2. Указать music_directory и playlist_directory в /etc/mpd.conf.
  3. Выбрать и настроить audio_output (ALSA/Pulse/FIFO).
  4. Добавить mpd в группу audio и перезапустить демон.
  5. Скопировать шаблон ~/.ncmpcpp/config и указать mpd_host/mpd_port, путь к FIFO.

Шпаргалка: часто используемые команды и сниппеты

# Обновление базы MPD
mpc update

# Добавить папку в плейлист
mpc add /path/to/track_or_folder

# Воспроизвести
mpc play

# Пауза
mpc pause

# Следующая
mpc next

# Получить статус
mpc status

(Утилита mpc — простой клиент для MPD, полезна для скриптов.)

Критерии приёмки

  • MPD запускается без ошибок: systemctl status mpd показывает active (running).
  • Клиент ncmpcpp подключается и может читать библиотеку.
  • Звук воспроизводится через выбранный аудио-выход.
  • Визуализатор получает данные из FIFO (если настроен).

Короткий глоссарий

  • MPD: демон, воспроизводящий музыку, управляемый клиентами.
  • ncmpcpp: ncurses-клиент для управления MPD с визуализатором.
  • FIFO: именованный канал для передачи аудио-данных визуализатору.
  • ALSA / Pulse / PipeWire: подсистемы звука в Linux.
  • socket/port: способ подключения клиента к демону (локальный Unix-сокет или TCP-порт).

Когда этот подход не подходит

  • Вам нужен простой GUI-плеер с прозрачным управлением: графические приложения удобнее.
  • Нужны DRM-стримы с проприетарными кодеками, которые завязаны на конкретные GUI-плагины.
  • Если вы не готовы править конфиги и работать с правами пользователей.

Заключение

MPD + ncmpcpp — отличный выбор для тех, кто ценит контролируемое, лёгкое и расширяемое воспроизведение музыки на Linux. Небольшая инвестиция в настройку окупается гибкостью: сетевой контроль, скрипты и удобные текстовые интерфейсы. Начните с базовой конфигурации, проверьте вывод звука и затем экспериментируйте с визуализатором и плейлистами.

Важно: при работе через сеть заботьтесь о безопасности — открытие порта MPD делает ваш сервер доступным извне.

Поделиться: X/Twitter Facebook LinkedIn Telegram
Автор
Редакция

Похожие материалы

Несколько аккаунтов Skype: Multi Skype Launcher
Программное обеспечение

Несколько аккаунтов Skype: Multi Skype Launcher

Журнал для работы: повысить продуктивность
Productivity

Журнал для работы: повысить продуктивность

Персональные звуки уведомлений на Android
Android.

Персональные звуки уведомлений на Android

Скачивание шоу Hulu для офлайн‑просмотра
Стриминг

Скачивание шоу Hulu для офлайн‑просмотра

Microsoft Start: персонализированная новостная лента
Новости

Microsoft Start: персонализированная новостная лента

Как изменить имя в Epic Games быстро
Гайды

Как изменить имя в Epic Games быстро