屏幕截图 cron 作业不起作用

屏幕截图 cron 作业不起作用

我一直在互联网上寻找这个问题的答案,但似乎找不到任何对我有用的方法。

我想运行一个 cron 任务,每分钟自动截取一次屏幕截图。脚本如下:

#!/bin/bash
cd /home/ville/Skrivbord/screenshot
import -display :0 -win root screenshot.jpg

手动执行时代码运行良好,但将其作为 cron 作业运行时代码不起作用。

cron 文件如下所示:

* * * * * /root/bin/screen.bash &> /dev/null
* * * * * /root/bin/syncdata.bash

另一项任务,syncdata 运行良好。

以下是我尝试过但没有成功的一些方法:

将 /root/bin/screen.bash 和 /home/ville/Skrivbord/screenshot 的权限更改为 777,并将所有者更改为 root。

将文件名更改为screen.sh(也许.bash和.sh之间没有区别?)

将导入行更改为“import -win root screenshot.jpg”和“import -display :0.0 -win root screenshot.jpg”。

添加代码:

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

一次位于 screen.bash 中现有代码的上方,一次位于下方。

将 cron 中的行更改为“* * * * * export DISPLAY=:0 && /root/bin/screen.bash”。

什么都没起作用!

请帮我

答案1

计划任务守护进程没有连接到 X 服务器所需的身份验证数据。尝试将以下内容放入~/.xprofile

if [ "$XAUTHORITY" ]; then
    cp -f "$XAUTHORITY" ~/.Xauthority
fi

相关内容