• Recent
  • Tags
  • Unsolved
  • Solved
  • MagicMirror² Repository
  • Documentation
  • 3rd-Party-Modules
  • Donate
  • Discord
  • Register
  • Login
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 18.2k 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.
  • S Away
    sdetweil @BKeyport
    last edited by Sep 6, 2022, 2:20 AM

    @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 Sep 10, 2022, 3:35 AM

      @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 Sep 10, 2022, 10:42 AM Reply Quote 0
      • S Away
        sdetweil @karam
        last edited by sdetweil Sep 10, 2022, 1:54 PM Sep 10, 2022, 10:42 AM

        @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 Oct 22, 2022, 6:56 PM Reply Quote 1
        • C Offline
          cburchett @sdetweil
          last edited by Oct 22, 2022, 6:56 PM

          @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 Oct 22, 2022, 8:03 PM Reply Quote 0
          • S Away
            sdetweil @cburchett
            last edited by Oct 22, 2022, 8:03 PM

            @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 Oct 22, 2022, 9:39 PM Reply Quote 0
            • S sdetweil referenced this topic on Oct 22, 2022, 8:03 PM
            • C Offline
              cburchett @sdetweil
              last edited by Oct 22, 2022, 9:39 PM

              @sdetweil Perfect! Thank you.

              1 Reply Last reply Reply Quote 0
              • S Offline
                Sagar73594 @sdetweil
                last edited by Nov 19, 2022, 8:18 PM

                @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 Nov 19, 2022, 8:23 PM Reply Quote 0
                • S Away
                  sdetweil @Sagar73594
                  last edited by sdetweil Nov 20, 2022, 1:30 PM Nov 19, 2022, 8:23 PM

                  @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 Feb 22, 2024, 1:26 PM Reply Quote 0
                  • C Offline
                    chichi1887 @sdetweil
                    last edited by Feb 22, 2024, 1:26 PM

                    @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
                    • C Offline
                      chichi1887 @sdetweil
                      last edited by Feb 22, 2024, 1:37 PM

                      @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.

                      Hi Sagar,

                      Hello Sagar, thank you for your guidance. Unfortunately, I keep encountering an error upon startup. A version starts automatically with the familiar error message “npm run config: check”. I stop the MagicMirror and manually start it from the MagicMirror folder with npm start, but then it allegedly cannot find the config. As you described, I created config1 and config2, then edited installers/mm.sh and mm2.sh. It looks something like this now:
                      cd ~/MagicMirror
                      export MM_CONFIG=config2.js
                      DISPLAY=:2 npm start

                      I also copied the pm2_MagicMirros.json once and simply appended a “1” to the name. The configuration looks like this:
                      “apps” : [{
                      “name” : “MagicMirror”,
                      “script” : “/home/pi/MagicMirror/installers/mm.sh”,
                      “watch” : [“/home/pi/MagicMirror/config/config1.js”]

                      Do you perhaps have any tips for me on what I might be doing wrong?

                      S 1 Reply Last reply Feb 22, 2024, 1:46 PM 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