Демонізуємо mocp

Сьогодні навчимо moc-сервер запускатися автоматично під час завантаження та керувати ним з мобільного.
Створимо systemd-скрипт для запуску нашого демона:
sudo nano /etc/systemd/system/moc@.service

[Unit]                           
Description=MOC server           
ConditionPathExists=/usr/bin/mocp 
After=sound.target network.target 
                                 
[Service]                         
RemainAfterExit=yes               
User=%I                           
ExecStart=/usr/bin/mocp -S       
ExecStop=/usr/bin/mocp -x         
WorkingDirectory=/home/%I/       
                                 
[Install]                         
WantedBy=multi-user.target        


Спробуємо його запустити:
sudo systemctl start moc@<username>

Перевіримо чи все ок:
sudo systemctl status moc*

moc@elektronik.service - MOC server
  Loaded: loaded (/etc/systemd/system/moc@.service; indirect; vendor preset: enabled)
  Active: active (exited) since Wed 2019-02-13 14:17:10 EET; 1 day 22h ago
 Process: 716 ExecStart=/usr/bin/mocp -S (code=exited, status=0/SUCCESS)
Main PID: 716 (code=exited, status=0/SUCCESS)
   Tasks: 0 (limit: 855)
  CGroup: /system.slice/system-moc.slice/moc@elektronik.service

Feb 13 14:17:10 OPi-elektroNIK systemd[1]: Started MOC server.
Feb 13 14:17:15 OPi-elektroNIK mocp[716]: Running the server...
Feb 13 14:17:15 OPi-elektroNIK mocp[716]: Trying ALSA...
Feb 13 14:17:15 OPi-elektroNIK mocp[716]: Running the server...


Все добре, отже можна зареєструвати його в системі:
sudo systemctl enable moc@<username>

Ну, і перезавантажимо список демонів:
systemctl daemon-reload

Тепер про управління цим усім. Можна, звісно, підключитися по SSH до сервера й управляти з CLI, але це доволі незручно і займає відносно багато часу. Тому краще зробити зручні аліаси й повісити їх на кнопки. На телефоні для цього я використовую Aurum Remote:

Команди, які використовую я (більше можна переглянути так: mocp -h):
mocp --play
mocp --previous
mocp --next
mocp --toggle-pause
mocp --volume=-10
mocp --volume=+10

Для комп'ютера існують програми з аналогічним функціоналом, яким до кнопок можна причепити ssh-команди. Також існує Python-бібліотека для управління mocp.

Коментарі