Error in spawning a dbus-launch - what is that?

cron, linux, terminal, ubuntu, v4l2

Solution

From what I can tell, you may need to either:

Set the display variable (Note that it might not be 0, could be 1 or even 2):

 export DISPLAY=:0

Launch a dbus-session:

 dbus-launch

Set the dbus variable:

 export $(dbus-launch)

In your case with a Cron job you can set environment variables like this:

env VARIABLE=VALUE <command>

So for option 1 your job would look like this:

* 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

For option 2 you can separate the two commands using &&, like this:

* 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

Something similar for option 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

Problem

I like to run a cron that snapshots a cam like this: ``` * 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 ``` But when the cron runs it just throws an error I don't understand: ``` ** Message: Failed to get session bus: Error spawning command line 'dbus-launch --autolaunch=55644972b3c91c1d24d83d8252721f00 --binary-syntax --close-stderr': Child process exited with code 1 ``` In the web I find no clean or good documentation what that is. Can you help me figure it out?

Original source