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 23.3k 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.
    • M Offline
      MMRIZE @1a2a3a
      last edited by

      @1a2a3a
      What you really want?

      • expanding screen with 2 monitors on 1 mm instance
      • 2 individual mm on each screen
      1 1 Reply Last reply Reply Quote 0
      • 1 Offline
        1a2a3a @MMRIZE
        last edited by

        @MMRIZE hmmm ideally… 1 pi connect to 2 monitor and both monitor running … this is the part I don’t quite get it.

        I want 1 monitor to just display Google photo and the other monitor showing all the informative stuff like calendar news stock etc. would this be more viable running 2 instances of mm? Or 1 instance of mm portraying Google photo on 1 screen and info on another side?

        It feels like the first option is easier?

        I’m happy to go either direction.

        Of course the easiest solution is to buy 2 pi and call it a day. But where’s the fun in that 😅

        S 1 Reply Last reply Reply Quote 0
        • S Do not disturb
          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 Do not disturb
              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 Do not disturb
                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.

                  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.

                    S 1 Reply Last reply Reply Quote 0
                    • S Do not disturb
                      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.

                        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.

                          S 1 Reply Last reply Reply Quote 1
                          • S Do not disturb
                            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…

                              1 Reply Last reply Reply Quote 1
                              • 1 Offline
                                1a2a3a
                                last edited by

                                Thanks all! I’ll give this a go once the monitor arrives!

                                S 1 Reply Last reply Reply Quote 0
                                • S Do not disturb
                                  sdetweil @1a2a3a
                                  last edited by

                                  @1a2a3a @BKeyport

                                  the MM_CONFIG_FILE problem is mine

                                  the correct stmt would be

                                  export MM_CONFIG_FILE=$(pwd)/config/config2.js
                                  

                                  notice I changed the brackets to parens and changed the command name

                                  Sam

                                  How to add modules

                                  learning how to use browser developers window for css changes

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

                                    This post is deleted!
                                    S 1 Reply Last reply Reply Quote 0
                                    • S Do not disturb
                                      sdetweil @BKeyport
                                      last edited by

                                      @BKeyport I just fixed it

                                      Sam

                                      How to add modules

                                      learning how to use browser developers window for css changes

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

                                        It has to be brackets on my system, FYI.

                                        S 1 Reply Last reply Reply Quote 0
                                        • S Do not disturb
                                          sdetweil @BKeyport
                                          last edited by

                                          @BKeyport ok…

                                          Sam

                                          How to add modules

                                          learning how to use browser developers window for css changes

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

                                            btw, how do i configure the css for the 2 screen?

                                            S 1 Reply Last reply Reply Quote 0

                                            Hello! It looks like you're interested in this conversation, but you don't have an account yet.

                                            Getting fed up of having to scroll through the same posts each visit? When you register for an account, you'll always come back to exactly where you were before, and choose to be notified of new replies (either via email, or push notification). You'll also be able to save bookmarks and upvote posts to show your appreciation to other community members.

                                            With your input, this post could be even better 💗

                                            Register Login
                                            • 1
                                            • 2
                                            • 1 / 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