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.

    Multiple screens fo MM.

    Scheduled Pinned Locked Moved General Discussion
    36 Posts 13 Posters 22.5k Views 15 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.
    • BKeyportB Offline
      BKeyport Module Developer @hogedir
      last edited by

      @hogedir I had two running off one display, just two different Magicmirror installs. I forgot how it works though, was using them as a temporary menu display.

      Something about calling different config files if I recall right.

      The "E" in "Javascript" stands for "Easy"

      S K 2 Replies Last reply Reply Quote 0
      • S Offline
        sdetweil @BKeyport
        last edited by

        @BKeyport MM_CONFIG environment variable

        allows the different configs off the same directory tree

        Sam

        How to add modules

        learning how to use browser developers window for css changes

        1 Reply Last reply Reply Quote 0
        • K Offline
          karam @BKeyport
          last edited by

          @BKeyport this answer inspired me to test it, so I have a solution:

          1. create two different folders.
          2. configure each install as you like.
          3. edit each electron file in each folder “js/electron.js”
          4. change the default resolution and position based on your screens.
            here is my config:
          let electronOptionsDefaults = {
                          width: 1280,
                          height: 1024,
                          x: 1366,
                          y: 0,
                                       }
          

          NOTE: there are many better methods (electron-multi-monitor for example) but this is the easiest that I could find

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

            @karam u can set the electronOptions in config.js, you don’t need to edit the source file

            then you can do it with one folder,
            and two config files

            environment variable
            MM_CONFIG=config1.js
            for one

            and
            MM_CONFIG=config2.js
            for the other

            all modules for both are installed in modules folder, only ones referenced in config file are used

            installers/mm.sh is the script used by my pm2 setup routine
            copy that to mm2.sh
            and then add the export MM_CONFIG=
            to each

            then copy the pm2_magicmirror.json
            and change the title and the mm.sh filename

            then pm2 start installers/??? (whatever name u copied the json file to for the second mm)
            pm2 save
            then on reboot you will get both

            Sam

            How to add modules

            learning how to use browser developers window for css changes

            C S 2 Replies Last reply Reply Quote 1
            • C Offline
              cburchett @sdetweil
              last edited by

              @sdetweil: can you please share an example? I am not sure how to indicate the secondary display in the config files. Thank you!

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

                @cburchett it’s one big display, so you have to tell it how far from the left edge to start this display.
                see
                https://forum.magicmirror.builders/topic/6623/multiple-screens-fo-mm/18?_=1666468889775

                only need x for horizontal monitors
                or y for vertical

                Sam

                How to add modules

                learning how to use browser developers window for css changes

                C 1 Reply Last reply Reply Quote 0
                • S sdetweil referenced this topic on
                • C Offline
                  cburchett @sdetweil
                  last edited by

                  @sdetweil Perfect! Thank you.

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

                    @sdetweil said in Multiple screens fo MM.:

                    MM_CONFIG=config1.js

                    Can you please elaborate, a little bit more? I’m trying this, but not understood well.
                    Thank You.

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

                      @Sagar73594 if you have a bash or sh script, you can set environment variables that the MM code will read

                      export MM_CONFIG=??? filename

                      will cause filename to be used as the name of the file to read for configuration (replacing config.js)

                      if you use my install script and selected use pm2, then the script is
                      ~/MagicMirror/installers/mm.sh

                      before the line
                      npm start
                      add the line above to set the file name

                      so, by using different config files, one could launch multiple instances of MagicMirror from the same set of files.
                      some could target one display and others another, and some could be server only as weill.

                      one could also install 50 modules and use the same 25 in all instances and some mix of the others in different instances, all from the same set of files in the MagicMirror folder tree.

                      Sam

                      How to add modules

                      learning how to use browser developers window for css changes

                      C 2 Replies Last reply Reply Quote 0
                      • C Offline
                        chichi1887 @sdetweil
                        last edited by

                        @sdetweil said in Multiple screens fo MM.:

                        @Sagar73594 if you have a bash or sh script, you can set environment variables that the MM code will read

                        export MM_CONFIG=??? filename

                        will cause filename to be used as the name of the file to read for configuration (replacing config.js)

                        if you use my install script and selected use pm2, then the script is
                        ~/MagicMirror/installers/mm.sh

                        before the line
                        npm start
                        add the line above to set the file name

                        so, by using different config files, one could launch multiple instances of MagicMirror from the same set of files.
                        some could target one display and others another, and some could be server only as weill.

                        one could also install 50 modules and use the same 25 in all instances and some mix of the others in different instances, all from the same set of files in the MagicMirror folder tree.

                        1 Reply Last reply Reply Quote 0
                        • 1
                        • 2
                        • 3
                        • 4
                        • 3 / 4
                        • 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