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.

    Magic mirror dual screen

    Scheduled Pinned Locked Moved General Discussion
    25 Posts 4 Posters 18.9k Views 4 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 Offline
      sdetweil @1a2a3a
      last edited by sdetweil

      @1a2a3a MM only displays on one screen… you can run two instances, and have them display on different monitors… from the same mm folder. just two different config files.

      see the MM_CONFIG_FILE env variable

      to get an instance on the other monitor you need to add

      electronOptions:{x:????,width:yyyy},
      

      to the config.js before the modules:{} list

      ??? is the width of the 1st display in pixels
      yyyy is the width of the second monitor

      note that you can also do the MMM-Pages approach, and only display some on a logical page 1 and some on logical page 2 in rotation…

      see my fork for a better way to define that
      https://github.com/sdetweil/MMM-pages

      Sam

      How to add modules

      learning how to use browser developers window for css changes

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

        @sdetweil oh my just that simple 1 config file and I’m done? And when I run pm2 it will flash to 2 as well?

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

          @1a2a3a have to run two scripts, one w the second config file

          Sam

          How to add modules

          learning how to use browser developers window for css changes

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

            @sdetweil see the pm2_MagicMirror.json in ~/MagicMirror/installers

            copy, change the name and script name, make a new script mm2.sh
            and the env variable

            pm2 start pm2_MagicMirror.json(new name)
            pm2 save

            that give the app pm2 manages a pretty name

            you can test w another terminal window
            set the env variable, using export variable=
            then create the new config.js, w only the modules u want enabled.
            then npm start

            Sam

            How to add modules

            learning how to use browser developers window for css changes

            BKeyportB 1 Reply Last reply Reply Quote 0
            • BKeyportB Offline
              BKeyport Module Developer @sdetweil
              last edited by

              @sdetweil heck, I’m a little lost there. Can you explain it out a bit better for us? I’m currently running two Magicmirrors back to back with two MM Directories and custom mm.sh files, if I could simplify that, I want to.

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

              BKeyportB 1 Reply Last reply Reply Quote 0
              • BKeyportB Offline
                BKeyport Module Developer @BKeyport
                last edited by BKeyport

                @BKeyport What I did was two directories, with seperate configs, then mm.sh does:

                cd /home/bkey1970/MagicMirror
                DISPLAY=:0 npm start
                

                and mm2.sh does:

                cd /home/bkey1970/MagicMirror2
                DISPLAY=:0 npm start
                

                To get the 2nd on the 2nd monitor, I added:

                        electronOptions: {
                    x: 1920
                },
                

                to the 2nd config.js, right below the address line, and changed the port to 8081.

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

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

                  @BKeyport @1a2a3a

                  copy the second config.js to the first mm config directory as config2.js

                  edit the mm2.sh

                  cd to the first mm directory(instead of the second)
                  and add a line

                  export MM_CONFIG_FILE=${cwd}/config/config2.js
                  npm start

                  now. make sure all the modules needed by both instances are installed in the modules folder of the 1st instance.

                  if they aren’t used by a particular instance, no big deal, same as setting disabled:true on a module config

                  Sam

                  How to add modules

                  learning how to use browser developers window for css changes

                  BKeyportB 1 Reply Last reply Reply Quote 0
                  • BKeyportB Offline
                    BKeyport Module Developer @sdetweil
                    last edited by

                    Interesting - although, now, it’s ignoring the electronOptions: item.

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

                    BKeyportB 1 Reply Last reply Reply Quote 0
                    • BKeyportB Offline
                      BKeyport Module Developer @BKeyport
                      last edited by BKeyport

                      Here’s the answer for @1a2a3a (Edited to show below changes)

                      Here’s how to do it cleanly: (replace <username> with your pi login name., with width of first monitor)

                      1. create two starting scripts:

                      First, mm.sh is as follows:

                      cd /home/<username>/MagicMirror
                      DISPLAY=:0 npm start
                      

                      Second, mm2.sh is as follows:

                      cd /home/<username>/MagicMirror
                      export MM_CONFIG_FILE=${pwd}/config/config2.js
                      DISPLAY=:0 npm start
                      
                      1. Two config files in magicmirror/config next:

                      First, config.js (this is your second monitor):

                             var config = { 
                             electronOptions: { x: <width> },
                              address: "0.0.0.0",
                              port: 8080,
                              ipWhitelist: [],
                              language: "en",
                              timeFormat: 12,
                              units: "imperial",
                              //logLevel: ["INFO", "LOG", "WARN", "ERROR", "DEBUG"],
                              modules: [
                      ...
                      

                      Second config2.js (this is your first monitor):

                             var config = { 
                              address: "0.0.0.0",
                              port: 8081,
                              ipWhitelist: [],
                              language: "en",
                              timeFormat: 12,
                              units: "imperial",
                              //logLevel: ["INFO", "LOG", "WARN", "ERROR", "DEBUG"],
                              modules: [
                      ...
                      

                      electronOptions will only work in the file that isn’t redirected to a new config - so use that in the config.js only.

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

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

                        @BKeyport nice description

                        Sam

                        How to add modules

                        learning how to use browser developers window for css changes

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