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

У меня есть небольшой скрипт для преобразования вводимых миди-нот в медиа-функции (увеличение громкости, переход к следующей песне и т. д.). Это выглядит так:

#!/bin/bash
aseqdump -p "CMD MM-1" | \
while IFS=" ," read src ev1 ev2 ch label1 data1 label2 data2 rest; do
    case "$ev1 $ev2 $data1" in
        "Note on 32" ) xdotool key XF86AudioRaiseVolume ;;
        "Note on 31" ) xdotool key XF86AudioLowerVolume ;;
        "Note on 51" ) xdotool key XF86AudioMute ;;
        "Note on 28" ) xdotool key XF86AudioPrev ;;
        "Note on 29" ) xdotool key XF86AudioNext ;;
        "Note on 50" ) xdotool key XF86AudioPlay ;;
    esac
done

Я могу запустить его из терминала, но он не может принимать команды, пока я не нажму ctrl+c. Все идет нормально. Мой вопрос в том, как я могу использовать этот скрипт в качестве службы, чтобы мне не приходилось беспокоиться о том, что он находится в видимом терминале и работает при перезагрузке?

У меня есть служебный файл в /etc/systemd/system/со следующим содержимым:

[Unit]
Description=My Shell Script for Sync

[Service]
ExecStart=/bin/bash /usr/bin/midi2keys.sh

[Install]
WantedBy=multi-user.target
0
задан 10 December 2021 в 19:06

0 ответов

Другие вопросы по тегам:

Похожие вопросы: