LINUX.ORG.RU

MPD

 , ,


0

1

Подскажите, можно ли заставить mpd обновлять базу при подключении/отключении USB флешки? Руками из клиентов база обновляется, но хочу автоматизировать этот процесс. В конфиге опция

auto_update    "yes"
, но толку от нее нет. Права на файлы в примонтированной директории rooo/root 0755.

обновлять базу при подключении/отключении USB флешки

А если во время обновления (это действие не мгновенно) подключенная флэшка будет отключена?

mpd не предусматривает постоянные манипуляции с библиотекой. Ты хочешь странного.

auto_update    "yes"

, но толку от нее нет.

Эта опция не делает отслеживание содержимого, оно лишь включает обновление по таймеру или событию (не помню уже).

mord0d ★★★★★
()
Ответ на: комментарий от mord0d

Решил задачу. Для монтирования флешек использую usbmount. Добавил в udev правило usbmount обновление базы командой mpc update и все взлетело. В итоге выглядит так

ERNEL=="sd*", DRIVERS=="sbp2",         ACTION=="add",  RUN+="/usr/share/usbmount/usbmount add"
KERNEL=="sd*", SUBSYSTEMS=="usb",       ACTION=="add",  RUN+="/usr/share/usbmount/usbmount add"
KERNEL=="ub*", SUBSYSTEMS=="usb",       ACTION=="add",  RUN+="/usr/share/usbmount/usbmount add"
KERNEL=="sd*", DRIVERS=="sbp2",         ACTION=="add",  RUN+="/usr/bin/mpc update"
KERNEL=="sd*", SUBSYSTEMS=="usb",       ACTION=="add",  RUN+="/usr/bin/mpc update"
KERNEL=="ub*", SUBSYSTEMS=="usb",       ACTION=="add",  RUN+="/usr/bin/mpc update"
KERNEL=="sd*",                          ACTION=="remove",       RUN+="/usr/share/usbmount/usbmount remove"
KERNEL=="ub*",                          ACTION=="remove",       RUN+="/usr/share/usbmount/usbmount remove"
KERNEL=="sd*",                          ACTION=="remove",       RUN+="/usr/bin/mpc update"
KERNEL=="ub*",                          ACTION=="remove",       RUN+="/usr/bin/mpc update"

achilles_85
() автор топика
Ответ на: комментарий от achilles_85

Эта наркомания мне не понятна, я не пользуюсь Linux.

Добавил в udev правило usbmount обновление базы командой mpc update и все взлетело.

Да-да, взлетело… Ага… mpc update триггерит обновление базы в фоне, а теперь подёргай флэшку туда-обратно, и посмотри что произойдёт. xD

mord0d ★★★★★
()
Ответ на: комментарий от mord0d

Подергал и не один раз)))) Выдернул - база пустая, подключил - база полная. Использоваться будет как плеер для авто. Есть волумио и т.п., но мне нужен тупо mpd и upmpdcli

achilles_85
() автор топика
Ответ на: комментарий от achilles_85

Выдернул - база пустая, подключил - база полная.

Это пока музыки мало. ☺

У меня база обновляется дольше двух минут, а музыки всего на 85d, 23h, 57m, 39s воспроизведения. (%

mord0d ★★★★★
()
Ответ на: комментарий от mord0d

Понял. Буду наблюдать, с mpd только знакомлюсь.

achilles_85
() автор топика

Управление mpc с клавиатуры

У меня тоже вопрос около этого. У меня RPI. На ней также mpd+mpc. Возможно ли подключив USB-клавиатуру как-то забиндить на ней кнопки на управление mpc? Например, на цифровом блоке.

5 - mpc toggle; 4 - mpc prev; 6 - mpc next; 8 - mpc volume +5; 2 - mpc volume -5.

И так далее.

iZ01at0r
()
Ответ на: комментарий от achilles_85

Я так понял - для этого (xbindkeys) нужен Xorg. У меня только консоль без всяческого графического окружения. Ругается - не может найти экран.

Видимо это должен быть какой-либо сервис, который мониторит устройство ввода.

Можно написать скрипт с бесконечным циклом - while true <ввод значения> и условия в зависимости от введённого. Но это тоже не то. Ибо символов можно ввести несколько, а также необходимо подтверждать ввод. Плюс, ещё и пользователю необходимо залогиниться и запустить скрипт.

iZ01at0r
()
9 февраля 2022 г.
Ответ на: комментарий от achilles_85

Наконец-то я добрался и немного допёр (не прошло и трёх месяцев). Был 7-портовый USB-хаб от Ginzzu. Он почему-то отваливается от Raspberry Pi, поэтому actkbd постоянно завершался. Хотя, и дополнительное питание на него подавал. На других устройствах онный хаб работает без проблем. Теперь другой хаб - работает нормально. Теперь продолжение. Теперь хочу прописать в правилах udev при подключении конкретной клавиатуры (по полям Vendor и Product) автоматически запускать actkbd. Возникает сложность с определением нужного устройства клавиатуры. lsinput выводит несколько одинаковых устройств с разным /dev/input/eventX. Отличаются только по полю «bits ev» (некоторые полностью одинаковые).

sudo lsinput
/dev/input/event0
   bustype : BUS_USB
   vendor  : 0x1997
   product : 0x2433
   version : 257
   name    : "  Mini Keyboard"
   phys    : "usb-0000:01:00.0-1.3.4.3/input0"
   uniq    : ""
   bits ev : (null) (null) (null) (null) (null)

/dev/input/event1
   bustype : BUS_USB
   vendor  : 0x1997
   product : 0x2433
   version : 257
   name    : "  Mini Keyboard Mouse"
   phys    : "usb-0000:01:00.0-1.3.4.3/input1"
   uniq    : ""
   bits ev : (null) (null) (null) (null)

/dev/input/event2
   bustype : BUS_USB
   vendor  : 0x1997
   product : 0x2433
   version : 257
   name    : "  Mini Keyboard System Control"
   phys    : "usb-0000:01:00.0-1.3.4.3/input1"
   uniq    : ""
   bits ev : (null) (null) (null)

/dev/input/event3
   bustype : BUS_USB
   vendor  : 0x1997
   product : 0x2433
   version : 257
   name    : "  Mini Keyboard Consumer Control"
   phys    : "usb-0000:01:00.0-1.3.4.3/input1"
   uniq    : ""
   bits ev : (null) (null) (null) (null) (null)

/dev/input/event4
   bustype : BUS_USB
   vendor  : 0x8089
   product : 0x3
   version : 272
   name    : "BlackC Sayobot.cn SayoDevice 9K"
   phys    : "usb-0000:01:00.0-1.4.2/input0"
   uniq    : "00715884EABA"
   bits ev : (null) (null)

/dev/input/event5
   bustype : BUS_USB
   vendor  : 0x8089
   product : 0x3
   version : 272
   name    : "BlackC Sayobot.cn SayoDevice 9K "
   phys    : "usb-0000:01:00.0-1.4.2/input0"
   uniq    : "00715884EABA"
   bits ev : (null) (null) (null) (null) (null)

/dev/input/event6
   bustype : BUS_USB
   vendor  : 0x8089
   product : 0x3
   version : 272
   name    : "BlackC Sayobot.cn SayoDevice 9K "
   phys    : "usb-0000:01:00.0-1.4.2/input0"
   uniq    : "00715884EABA"
   bits ev : (null) (null) (null) (null)

/dev/input/event7
   bustype : BUS_USB
   vendor  : 0x8089
   product : 0x3
   version : 272
   name    : "BlackC Sayobot.cn SayoDevice 9K "
   phys    : "usb-0000:01:00.0-1.4.2/input0"
   uniq    : "00715884EABA"
   bits ev : (null) (null) (null) (null) (null)

/dev/input/event8
   bustype : BUS_CEC
   vendor  : 0x0
   product : 0x0
   version : 1
   name    : "vc4"
   phys    : "vc4/input0"
   bits ev : (null) (null) (null) (null) (null)

/dev/input/event9
   bustype : BUS_CEC
   vendor  : 0x0
   product : 0x0
   version : 1
   name    : "vc4"
   phys    : "vc4/input0"

Устройство «BlackC Sayobot.cn SayoDevice 9K ». Можно как-то без перебора определить необходимое устройство?

iZ01at0r
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.