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.
    • 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
                      • BKeyportB Offline
                        BKeyport Module Developer @sdetweil
                        last edited by

                        @sdetweil I figured I might as well make it as clear as possible…

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

                        1 Reply Last reply Reply Quote 1
                        • 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