MagicMirror Forum
    • Recent
    • Tags
    • Unsolved
    • Solved
    • MagicMirror² Repository
    • Documentation
    • 3rd-Party-Modules
    • Donate
    • Discord
    • Register
    • Login
    A New Chapter for MagicMirror: The Community Takes the Lead
    Read the statement by Michael Teeuw here.

    Starting MM Crontab

    Scheduled Pinned Locked Moved Bug Hunt
    15 Posts 3 Posters 1.5k Views 3 Watching
    Loading More Posts
    • Oldest to Newest
    • Newest to Oldest
    • Most Votes
    Reply
    • Reply as topic
    Log in to reply
    This topic has been deleted. Only users with topic management privileges can see it.
    • mumblebajM Offline
      mumblebaj Module Developer @sdetweil
      last edited by

      @sdetweil Yep, only MM update. Let me try start: node --run start:x11 and see what happens.

      Check out my modules at: https://github.com/mumblebaj?tab=repositories
      Check my blog-post: https://mumblebaj.xyz/

      KristjanESPERANTOK 1 Reply Last reply Reply Quote 0
      • KristjanESPERANTOK Offline
        KristjanESPERANTO Module Developer @mumblebaj
        last edited by KristjanESPERANTO

        @mumblebaj Just an idea: Maybe the node version used in Cron could be to old. When you run a script manually in your terminal, your full user environment (including things like .bashrc or .zshrc) is loaded. Cron runs in a much more minimal environment — it often doesn’t load your shell config files, so tools like nvm (Node Version Manager) might not be available.

        How to fix it:

        • Use the full path to Node: Find it with which node and use that path in your cron job.
        • Set the environment manually in cron: You can define your PATH at the top of the cron file.
        • Source nvm in your script: If you use nvm, add source ~/.nvm/nvm.sh and nvm use <version> before calling node.
        mumblebajM 1 Reply Last reply Reply Quote 1
        • mumblebajM Offline
          mumblebaj Module Developer @KristjanESPERANTO
          last edited by

          @KristjanESPERANTO Thanks Kristjan. But I don’t see how updating MM could cause this. I only updated MM with Sam’s upgrade script. Don’t see how that has changed anything with regards to how Crontab works. Maybe it is related to changing the launch to node --run start. I can see the command being fired in the log but it does not launch MM like it did before the upgrade.

          Anyhow, I manually launch it for now till I find a suitable solution.

          Check out my modules at: https://github.com/mumblebaj?tab=repositories
          Check my blog-post: https://mumblebaj.xyz/

          S 1 Reply Last reply Reply Quote 0
          • S Offline
            sdetweil @mumblebaj
            last edited by

            @mumblebaj did you use npm start before?

            it ‘may’ be the path as @KristjanESPERANTO mentioned

            so from the user command line do

            which node

            and use that result in the cron command

            Sam

            How to add modules

            learning how to use browser developers window for css changes

            mumblebajM 2 Replies Last reply Reply Quote 0
            • mumblebajM Offline
              mumblebaj Module Developer @sdetweil
              last edited by

              @sdetweil Hi Sam. I have always used npm. I have just been reading through the PR-3764 and i agree with your arguments in that it could have breaking affects for how we do things as both users and devs. Case in point.

              However, the forum is about new things and moving forward, so I agree with @KristjanESPERANTO on that point of view as well.

              I have now resolved my script issue and am now able to launch from the cron again. 😉

              For somebody who may have the same issue, this is how I solved for it.

              export DISPLAY=:0
              cd ~/MagicMirror
              npm run start:x11
              

              The above has solved it for me now.

              Check out my modules at: https://github.com/mumblebaj?tab=repositories
              Check my blog-post: https://mumblebaj.xyz/

              S 1 Reply Last reply Reply Quote 2
              • mumblebajM Offline
                mumblebaj Module Developer @sdetweil
                last edited by

                @sdetweil Stupid question, how do I mark this as resolved?

                Check out my modules at: https://github.com/mumblebaj?tab=repositories
                Check my blog-post: https://mumblebaj.xyz/

                S 1 Reply Last reply Reply Quote 0
                • S Offline
                  sdetweil @mumblebaj
                  last edited by

                  @mumblebaj you didn’t open it as an issue, so it can’t be resolved

                  Normally 3 dot menu right of selected post

                  Sam

                  How to add modules

                  learning how to use browser developers window for css changes

                  1 Reply Last reply Reply Quote 0
                  • S Offline
                    sdetweil @mumblebaj
                    last edited by

                    @mumblebaj what do you think fixed your problem?

                    DISPLAY is set in package.json if not already
                    folder of course

                    Sam

                    How to add modules

                    learning how to use browser developers window for css changes

                    mumblebajM 1 Reply Last reply Reply Quote 0
                    • mumblebajM Offline
                      mumblebaj Module Developer @sdetweil
                      last edited by

                      @sdetweil A few things:

                      The main issue being:
                      MagicMirror is now using a flat npm config, and the start scripts are handled differently, node --run start:x11 is not a valid Node.js command — unless you are using a custom wrapper or an internal script, this will fail silently or do nothing.

                      As Crontab runs in a minimal environment, so any graphical (X11) application must explicitly export DISPLAY. Previously I had the command as DISPLAY=:0 npm start. Now, I had to export DISPLAY=:0 first and then start MM.

                      Check out my modules at: https://github.com/mumblebaj?tab=repositories
                      Check my blog-post: https://mumblebaj.xyz/

                      1 Reply Last reply Reply Quote 0
                      • 1
                      • 2
                      • 2 / 2
                      • First post
                        Last post
                      Enjoying MagicMirror? Please consider a donation!
                      MagicMirror created by Michael Teeuw.
                      Forum managed by Sam, technical setup by Karsten.
                      This forum is using NodeBB as its core | Contributors
                      Contact | Privacy Policy