我想每五分钟用“scrot”截屏。要通过 SSH 连接执行此操作,我可以运行
ssh -X user@server
while true; do scrot -z; sleep 300; done
Run Code Online (Sandbox Code Playgroud)
或(手动检查 /var/run/gdm/auth-for-XXX-YYY/database 中的文件夹名称后)
ssh user@server
export DISPLAY=:0
export XAUTHORITY=/var/run/gdm/auth-for-user-wUM1sV/database
while true; do scrot -z; sleep 300; done
Run Code Online (Sandbox Code Playgroud)
但是,如果我想将此作为 cron 作业执行,我将自动需要将环境变量 XAUTHORITY 映射到 /var/run/gdm/ 中的随机文件夹。根据这篇文章如何创建 .Xauthority 文件?此映射是自动完成的,但我猜对于 cron 作业而言并非如此,如果不使用 X 转发,则显然不适用于 SSH 会话。
有没有人对如何创建这个 cron 工作有建议?
小智 1
假设您的用户使用 X 会话登录,并且是第一个会话,它将获得显示编号 0,否则尝试找出用户正在运行的显示编号。尝试将其放入用户的 crontab 中
*/5 * * * * DISPLAY=:0 /usr/bin/scrot
Run Code Online (Sandbox Code Playgroud)