Я создал некоторые сценарии удара в cron.hourly папке для выполнения некоторых задач каждый час, когда машина работает.
cron_pull
и cron_update_images
сценарии работают просто великолепно в задании крона.
53 * * * 2 /etc/cron.hourly/cron_pull
55 * * * 2 /etc/cron.hourly/cron_update_images
57 * * * 2 /etc/cron.hourly/cron_start_slideshow #This is the problem script
Заключительный сценарий не работает как ожидалось, и я не уверен почему. Если я запускаю скрипт вручную, он запускает слайд-шоу без проблем. Вот код внутри cron_start_slideshow
.
# Code that will prevent duplicate cronjobs from happening
PIDFILE=~/Documents/scripts/cron_pull.pid
if [ -f $PIDFILE ]
then
PID=$(cat $PIDFILE)
ps -p $PID > /dev/null 2>&1
if [ $? -eq 0 ]
then
echo "Process is already running"
exit 1
else
# Process not found, assume it is not running
echo $$ > $PIDFILE
if [ $? -ne 0 ]
then
echo "Could not create PID file"
exit 1
fi
fi
else
echo $$ > $PIDFILE
if [ $? -ne 0 ]
then
echo "Could not create PID file"
exit 1
fi
fi
# Start the slideshow of images
eog --slide-show /media/images
# Remove the PID file showing the process is complete
rm $PIDFILE
Что-либо помогает, Спасибо!
В первую очередь, я думаю, что Вы хотите сделать, запуск этот слайд-шоу, когда менеджер окон запускается, поэтому запустите его со сценария автоматического запуска, в зависимости от которого менеджера окон Вы. Если не случай, необходимо будет сказать какой-либо программе, что Вы хотите соединиться с указанным дисплеем при выполнении его из init сценариев.
Сделал Вы пытаетесь добавить переменную дисплея, которую можно найти в man eog
страница как eog --display=0.0 --slide-show /media/images