6

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?

LeMike
  • 3,195
  • 5
  • 25
  • 35

1 Answers1

2

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
Baa
  • 438
  • 3
  • 7
  • 22
  • Note that this spawns two instances of dbus and the first one will not be used. The step 2. should already look like the 3. - `export $(dbus-launch)` – Wereii Jul 24 '23 at 11:44
  • @Wereii Sorry these should not have been written as steps, 1, 2, and 3 are three individual solutions. – Baa Jul 24 '23 at 12:57