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?