MOC (Русский)

From ArchWiki
Состояние перевода: На этой странице представлен перевод статьи MOC. Дата последней синхронизации: 30 ноября 2023. Вы можете помочь синхронизировать перевод, если в английской версии произошли изменения.

Music On Console (Музыка в консоли) — лёгкий музыкальный плеер, который состоит из двух частей: сервера и плеера/интерфейса. Такая реализация похожа на реализацию MPD, но в отличие от него, MOC поставляется сразу с интерфейсом и сервер не поддерживает удалённый доступ.

Установка

Установите пакет moc-pulseAUR или moc-pulse-svnAUR (содержащий последнюю разрабатываемую версию). Использование драйвера PulseAudio описано в разделе #Использование PulseAudio.

Фронтенды

  • mocicon — GTK-апплет панели для управления MOC
https://mocicon.sourceforge.net/ || mociconAUR
  • eXo — Qt-фронтэнд для MOC, поддерживающий скробблинг
https://github.com/loimu/exo || exo-playerAUR

Настройка

Примеры настроек есть в каталоге /usr/share/doc/moc/. При первом запуске mocp будет создан каталог ~/.moc/. Для настройки скопируйте примеры в этот каталог и отредактируйте по вкусу.

Если вы хотите использовать MOC с OSS v4.1, обратитесь к разделу OSS#MOC.

Настройка горячих клавиш описана в /usr/share/doc/moc/keymap.example.

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

Впишите PULSEAUDIO: в начале переменной SoundDriver:

SoundDriver = PULSEAUDIO:JACK:ALSA:OSS

Таким образом у PulseAudio будет наивысший приоритет. Перечисление других звуковых драйверов после него — это запасные варианты на случай, если предыдущие окажутся недоступны.

Навигация

Чтобы переключать каталоги стрелками, раскомментируйте в ~/.moc/config:

Keymap = keymap

Отредактируйте следующее в ~/.moc/keymap:

go    = ENTER RIGHT
go_up = U LEFT
#seek_forward  = RIGHT
#seek_backward = LEFT

Чтобы ускорить навигацию и отключение от сервера, пропишите следующее в ~/.moc/config:

ReadTags = no
ShowTime = no
TagsCacheSize = 0

Служба systemd

Включите эту службу для соответствующего пользователя:

/etc/systemd/system/moc@.service
[Unit]
Description=MOC server
ConditionPathExists=/usr/bin/mocp
After=network.target sound.target

[Service]
RemainAfterExit=yes
User=%I
ExecStart=/usr/bin/mocp -S
ExecStop=/usr/bin/mocp -x
WorkingDirectory=/home/%I/

[Install]
WantedBy=multi-user.target

Темы

Есть несколько тем для интерфейса плеера. Для просмотра списка доступных тем и её выбора нажмите T. Чтобы сделать выбор темы постоянным, пропишите её в файл настроек ~/.moc/config.

Theme = laras_theme

Стандартные темы находятся в каталоге /usr/share/moc/themes/. Пакет mocp-themes-gitAUR предоставляет дополнительные темы.

Так как темы являются обычными текстовыми файлами, нетрудно создать свою собственную тему. Пользовательские темы считываются из каталога ~/.moc/themes/.

Пример файла темы:

background                     = white black
frame                          = white black
window_title                   = white black
directory                      = white black
selected_directory             = white black reverse
playlist                       = white black
selected_playlist              = white black reverse
file                           = white black
selected_file                  = white black reverse
selected_info                  = white black reverse
marked_file                    = white black bold
marked_selected_file           = white black reverse
info                           = white black
marked_info                    = white black bold
marked_selected_info           = white black reverse
status                         = white black
title                          = white black bold
state                          = white black
current_time                   = white black bold
time_left                      = white black bold
total_time                     = white black bold
time_total_frames              = white black
sound_parameters               = white black bold
legend                         = white black
disabled                       = white black
enabled                        = white black bold
empty_mixer_bar                = white black
filled_mixer_bar               = white black reverse
empty_time_bar                 = white black
filled_time_bar                = white black reverse
entry                          = white black
entry_title                    = white black
error                          = white black bold
message                        = white black
plist_time                     = white black

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

Выполните команду mocp — она запустит сервер и интерфейс. Некоторые полезные горячие клавиши (чувствительны к регистру, используйте h для просмотра более полного списка):

Начать воспроизведение Enter
Пауза Space или p
Следующий трек n
Предыдущий трек b
Тихая перемотка на 5 секунд вперёд ]
Тихая перемотка на 5 секунд назад [
Переключиться с плейлиста к
обзору файлов (и обратно)
Tab
Добавить один трек в плейлист a
Добавить каталог (рекурсивно) в плейлист Shift+a
Удалить трек из плейлиста d
Очистить плейлист Shift+c
Увеличить громкость на 1% >
Уменьшить громкость на 1% <
Увеличить громкость на 5% . (точка)
Уменьшить громкость на 5% , (запятая)
Изменить громкость на 10% Alt+1
Изменить громкость на 90% Alt+9
Закрыть проигрыватель
(без завершения работы сервера)
q
Выход Shift+q
Совет: Чтобы не ждать отключения проигрывателя от сервера (что может занять время), можно использовать Ctrl+z.

Для завершения работы сервера выполните команды mocp -x.

Скробблинг

mocp-scrobblerAUR — скробблер Last.fm/Libre.fm для MOC с поддержкой уведомлений о текущем воспроизведении, демонизации и кеширования. Он зависит только от Python 3.

Примечание: Чтобы вместо Last.fm использовать Libre.fm, измените hostname с post.audioscrobbler.com на turtle.libre.fm.

Скопируйте пример файла в каталог с пользовательскими конфигурационными файлами:

mkdir ~/.mocpscrob/
cp /usr/share/doc/mocp-scrobbler/config.example  ~/.mocpscrob/config

Отредактируйте ~/.mocpscrob/config, добавив в него свои имя пользователя и пароль. При первом запуске переменная с паролем будет заменена на переменную password_md5, содержащую в себе MD5-хеш. Если необходимо изменить пароль, просто (опять) добавьте переменную с новым паролем, и значение переменной password_md5 будет обновлено.

Чтобы начать скробблинг, перед запуском mocp запустите mocp-scrobbler в качестве демона. Также можно использовать псевдоним:

alias mocp='/usr/bin/mocp-scrobbler.py -d; mocp'

В январе 2016 года last.fm обновил требования к паролям: все новые пароли должны содержать один из следующих символов !"#$%&'()*+,-./:;<=>?@[\]^_`{|}~ или пробел. Известно, что это вызывает ошибку аутентификации в конфигурациях mocpscrob, в которых указаны пароли, не соответствующие этим новым спецификациям. Смена пароля и соответствующее обновление пароля в ~/.mocpscrob/config решает эту проблему.

Решение проблем

MOC не запускается

Если MOC не запускается, скорее всего, проблема в конфигурационных файлах ~/.moc/. Можно попробовать отредактировать файлы настройки или просто удалить весь каталог.

Странные символы

Если вместо нормальных линий (вертикальные линии для разделения пространства и т.д.) вы видите странного вида символы, возможно, у вас установлен шрифт, несовместимый с MOC. Либо смените шрифт, либо установите в .moc/config ASCII для рисования линий:

ASCIILines = no

FATAL_ERROR: Layout1 is malformed

Если MOC завершается с такой ошибкой, попробуйте добавить одну из этих строк в .moc/config:

Layout1 = directory(0,0,50%,100%): playlist(50%,0,100%,100%)

либо

Layout1 = directory(0,0,50%,100%): playlist(50%,0,FILL,100%)

Смотрите отчёт об ошибке и Debian bugs.

Bluetooth не работает, если он не был подключен перед запуском MOC

При использовании PipeWire MOC по умолчанию использует JACK, что, по-видимому, и является причиной этой проблемы. Простое переключение с jack на ALSA путём изменения следующего значения в настройках решает эту проблему.

Значение по умолчанию: JACK:OSS:ALSA

Новое значение: ALSA:OSS:JACK

MOC выбирает первый работающий аудиодрайвер, таким образом, ALSA будет выбран первым. Это должно решить проблемы с bluetooth.

Смотрите также