LoliDeveloper
@LoliDeveloper
Линейная алгебра как смысл жизни

Как воспроизводить файлы из bash-скрипта?

Сделал такой скрипт для напоминаний, и поместил его в crontab.
#!/bin/bash
...
/usr/bin/RHVoice-client -v 1 -s Anna+CLB < /tmp/text.txt | aplay


#крон
* * * * * /home/usrname/dir/sh1 > /tmp/sh1.log 2>&1


Если запускать его из командной строки, то всё окей, но если его запускает сам крон, то aplay ругается:
ALSA lib pcm_dmix.c:1089:(snd_pcm_dmix_open) unable to open slave
aplay: main:852: audio open error: Device or resource busy

Что-то можно с этим делать? Или хотя бы стоит пытаться решить эту проблему?
  • Вопрос задан
  • 192 просмотра
Решения вопроса 1
LoliDeveloper
@LoliDeveloper Автор вопроса
Линейная алгебра как смысл жизни
Боже мой я решил это.
Надо в crontab -e в скрипт добавить XDG_RUNTIME_DIR=/run/user/$(id -u) перед скриптом.
Я запускал:
* * * * * /home/usr/dir/sh1 > /tmp/sh1.log 2>&1
А надо:
* * * * * XDG_RUNTIME_DIR=/run/user/$(id -u) /home/usr/dir/sh1 > /tmp/sh1.log 2>&1
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
ky0
@ky0
Миллиардер, филантроп, патологический лгун
Стандартный набор проверки:

1. Юзер, из-под которого запускается.
2. Используемый шелл, переменные окружения, абсолютные пути.
3. Каталог, в котором выполняется.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

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