【问题标题】:Raspberry Pi / ImageMagick: Screenshot via CrontabRaspberry Pi / ImageMagick:通过 Crontab 截屏
【发布时间】:2015-05-13 23:40:16
【问题描述】:

我正在尝试通过 crontab 在我的 Raspberry Pi 上运行脚本。

我已经创建了脚本:ScreenShot.sh

文件内容为:

#!/bin/sh
export DISPLAY=:0 && \
   import -window root -resize 20% /pathtofolder/screenshot.jpg

当我通过 SSH 运行它时效果很好

/home/pi/ScreenShot.sh

我已使脚本可执行。

然后我通过sudo crontab -e将它添加到cron

*/1 * * * * /home/pi/ScreenShot.sh

我希望脚本每运行 1 分钟(稍后我会扩展它,但出于测试目的,我将它设置为 1 分钟)。

由于某种原因,脚本没有在 crontab 中运行,也没有截图。

我注意到如果我通过sudo 运行脚本:

sudo /home/pi/ScreenShot.sh

我收到以下错误:

No protocol specified
import.im6: unable to open X server `:0' @ error/import.c/ImportImageCommand/368.

我假设当 Crontab 运行时,它以 Root 身份运行脚本,这可能会导致失败。

我在 crontab 上启用了日志记录,如果我查看日志,我会看到以下内容:

Nov  6 06:26:01 IRDigitalDisplay /USR/SBIN/CRON[12634]: (root) CMD (/home/pi/ScreenShot.sh)
Nov  6 06:26:02 IRDigitalDisplay /USR/SBIN/CRON[12633]: (CRON) info (No MTA installed, discarding output

所以我假设出了点问题。但是,它不会将错误写入日志,而是尝试通过电子邮件将其发送给我.....

我的问题是:

  • 如何让我的 ImageMagick 脚本在 crontab 中运行,每 X 分钟拍摄一次屏幕截图,并将其保存到预定文件夹中?

【问题讨论】:

  • 嗨,我想通了,您需要以 Pi 用户身份运行 crontab 作业: */5 * * * * sudo -u pi /home/pi/ScreenShot.sh

标签: imagemagick crontab


【解决方案1】:

您需要将脚本添加到“pi”用户的 crontab,而不是 root 的。以用户“pi”的身份使用此命令启动 crontab 编辑器:

crontab -e

不需要sudo

crontab 条目必须是:

*/5 * * * * /home/pi/ScreenShot.sh

【讨论】:

    猜你喜欢
    • 2018-07-31
    • 2019-05-05
    • 1970-01-01
    • 1970-01-01
    • 2018-09-13
    • 1970-01-01
    • 2017-07-18
    • 2019-04-30
    • 1970-01-01
    相关资源
    最近更新 更多