Носки не работают с Кроном

Я пытаюсь использовать Крон для проигрывания файла MP3 в установленное время (Это - более или менее будильник POC). В основном у меня есть мой crontab файл, настроенный для запущения скрипта удара следующим образом:

* * * * * export DISPLAY=:0 && export XAUTHORITY=/home/username/.Xauthority && home/username/test

Вот файл удара, который, как предполагается, играет звуковой файл; я использую игру от sox.

#!/bin/bash
PATH=/usr/bin
play /home/username/Media/Music/my_audio.mp3

Если я петляю отдельно, это работает просто великолепно, но ничего не происходит что когда с cron. Кто-то может дать мне некоторые подсказки относительно того, что я должен зафиксировать? Огромное спасибо!

1
задан 19 December 2019 в 08:31

1 ответ

cron не bash (и Ваш bash, синтаксис является неправильным, также. Читайте man bash). Считайте man 5 crontab, и, к achive, что Вы, кажется, хотите:

В Вашем crontab (crontab -e)

DISPLAY=:0 
XAUTHORITY=/home/username/.Xauthority
* * * * *  /home/username/test

, НО! Это не необходимо! play команда не использует никакой $DISPLAY или $XAUTHORITY.

От [1 113]:

SoX is a command-line audio processing tool, particularly suited to making quick, simple edits and to batch processing.  If
you need an interactive, graphical audio editor, use audacity(1).

Ваша проблема состоит в том, что cron s $PATH не является тем же как Вашей. man 5 crontab покажет Вам, как установить его, или Вы, culd используют полный путь для [1 117] в Вашем сценарии:

#!/bin/bash
# no need to set $PATH
/usr/bin/play $HOME/Media/Music/my_audio.mp3

можно исследовать различия между [1 118] среда выполнения и среда выполнения GUI путем выполнения (echo "=== set ===";set;echo "===env ==="; env | sort;echo "=== alias ===";alias) >some.file в обоих (с различными значениями для [1 120]).

1
ответ дан 21 December 2019 в 23:29

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

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