Сьогодні навчимо moc-сервер запускатися автоматично під час завантаження та керувати ним з мобільного.
[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.
Створимо 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.
Коментарі
Дописати коментар