Я разрабатываю систему отображения для магазина краски.
Я настроил компьютер с Ubuntu, чтобы выполнить видео и отобразить его по телевизору, выполнив Сценарий PHP, который должен обновлять видео каждый час через Интернет.
Сценарий установлен работать через крон, выполняемый один раз в час (@hourly). Почти весь сценарий работает отлично, но последняя строка, где это выполняет VLC Media Player для отображения видео сбоев тихо. Если скрипт запущен через командную строку (php /path/to/cron.php
), VLC Media Player запускается отлично. Но когда это выполняется в кроне, это не делает.
Мысль, которую я получаю, что задания, работающие через крон просто, не имеют способности запустить приложения с видимым GUI, но я действительно надеюсь, что это не ответ.
Помогите мне взломать этого!
Отобразить что-то на X-сервере X-клиент (как vlc
) требует переменной среды DISPLAY
быть установленным, который определяет сетевой адрес X-сервера. Почти во всех случаях (один локальный X-сервер) этому нужно присвоить :0
.
Можно установить ту переменную из сценария или просто работать bash -c "DISPLAY=:0 vlc $vlcopts"
вместо этого (конечно, замена $vlcopts
).