Crontab не будет выполнять vlc live-поток

5

Im пытается автоматически запустить и остановить поток rtps через vlc в crontab:

sudo crontab -e
15 9 * * * vlc -vvv rtsp://user:[email protected]:xxx/stream1

и

nano /etc/crontab
14 9 * * * camera vlc -vvv rtsp://admin:[email protected]:554/stream1

Если я вставляю команду в терминал, поток открывается без проблем, но когда я тестировал его, сделав его cronjob таким образом и планируя его через 2 минуты в будущем, чтобы проверить его, ничего не происходит.

Я делаю что-то неправильно или кто-нибудь может мне помочь?

    
задан user174095 18.07.2013 в 09:24
источник

1 ответ

5

Это потому, что работа crontab не имеет никакого подключения к вашему рабочему столу. Целью crontab является запуск безгласных заданий - без какого-либо интерактивного вывода или графического отображения и только с протоколированием сообщений в файл. Crontab не имеет никакого отношения к вашему графическому дисплею. Однако вы можете попытаться предоставить информацию о вашем дисплее, установив переменную окружения DISPLAY .

Что-то вроде этого может работать:

* * * * * DISPLAY=:0.0 vlc -vvv rtsp://your.url 2>&1 > /tmp/vlc.log

Обратите внимание, что вы все равно не сможете увидеть вывод vlc в своем текущем терминале - crontab запускает расписание, не имея any , что ваш текущий терминал или эмулятор терминала. Поэтому, если вам нужна подробность или ведение журнала, вы должны сохранить вывод в файл.

Post scriptum: Эрик прав, вам также нужно иметь дело с XAUTHORITY, если ваша команда запускается с помощью root. Вам не придется этого делать, если вы запускаете vlc из своего собственного crontab.

    
ответ дан January 18.07.2013 в 09:44