Программа командной строки “импорта” ImageMagick, не удающаяся сделать снимок экрана из сценария КРОНА

Привет я записал простой сценарий командной строки, который является, предполагают для делания моего снимка экрана каждые 5 минут.

(использование программы "импорта" ImageMagick)

вот сценарий (shottr.sh):

#!/bin/sh
PTH="/home/username/images"
NM=`date +%j`_`date +"%F %k:%M"`

/usr/bin/import -window root -resize 1024 "$PTH/$NM.png" &
echo "Screenshot" | festival --tts &

это хорошо работает, если я выполняюсь вручную т.е.:

# ./shottr.sh

или

#sh shottr.sh

крон установлен как это:

*/5 * * * * /bin/sh /home/username/scripts/shottr.sh

сам сценарий выполняется (я слышу, что речь говорит: "Снимок экрана"), но фактический снимок экрана не сделан.

P.S.: уверьте, что это не проблема разрешения (я поместил простой "сенсорный" вызов, и файл был создан),

может быть то, если это выполняется от крона... это не имеет "окна", таким образом, это не может сделать снимок экрана из ниоткуда?? Если это так, затем как может я обходное решение это?

0
задан 16.02.2011, 14:23

1 ответ

Когда Вы запускаете скрипт от cron это не имеет доступа к Вашему DISPLAY переменная среды, которая является, как она знает то, что отображают X11, с которым можно взаимодействовать. Вы можете заставлять это работать путем добавления следующего к сценарию:

# Set display to :0 if it's not already set.
: ${DISPLAY:=:0}
export DISPLAY

Это предполагает что Ваш DISPLAY всегда :0, который верен, если Вы входите в систему на консоли, но не верные, если Вы работаете X удаленно.

8
ответ дан 24.11.2019, 02:43

Теги

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