产生dbus-launch时出错 - 这是什么?

LeM*_*ike 6 linux terminal ubuntu cron v4l2

我喜欢运行一个像这样快照凸轮的cron:

* 9-17 * * 1-5 vlc -I dummy v4l2:///dev/video0 --video-filter scene --no-audio --scene-path /home/foo/tmp/cam --scene-prefix snapshot --scene-format png vlc://quit --run-time=1
Run Code Online (Sandbox Code Playgroud)

但是当cron运行它时会抛出一个我不明白的错误:

** Message:
Failed to get session bus:
Error spawning command line 'dbus-launch --autolaunch=55644972b3c91c1d24d83d8252721f00 --binary-syntax --close-stderr':
Child process exited with code 1
Run Code Online (Sandbox Code Playgroud)

在网络上,我发现没有干净或良好的文档.你能帮我解决一下吗?

Hug*_*ugo 4

据我所知,您可能需要:

对于 Cron 作业,您可以设置环境变量,如下所示:

env VARIABLE=VALUE <command>
Run Code Online (Sandbox Code Playgroud)

因此,对于选项 1,您的工作将如下所示:

* 9-17 * * 1-5 env DISPLAY=:0 vlc -I dummy v4l2:///dev/video0 --video-filter scene --no-audio --scene-path /home/foo/tmp/cam --scene-prefix snapshot --scene-format png vlc://quit --run-time=1
Run Code Online (Sandbox Code Playgroud)

对于选项 2,您可以使用 && 分隔两个命令,如下所示:

* 9-17 * * 1-5 dbus-launch && vlc -I dummy v4l2:///dev/video0 --video-filter scene --no-audio --scene-path /home/foo/tmp/cam --scene-prefix snapshot --scene-format png vlc://quit --run-time=1
Run Code Online (Sandbox Code Playgroud)

选项 3 类似:

* 9-17 * * 1-5 export $(dbus-launch) &&vlc -I dummy v4l2:///dev/video0 --video-filter scene --no-audio --scene-path /home/foo/tmp/cam --scene-prefix snapshot --scene-format png vlc://quit --run-time=1
Run Code Online (Sandbox Code Playgroud)