У меня есть небольшой скрипт для преобразования вводимых миди-нот в медиа-функции (увеличение громкости, переход к следующей песне и т. д.). Это выглядит так:
#!/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