MagicMirror² v2.12.0 is available! For more information about this release, check out this topic.

Rpi 4 and two monitors

  • @NathTheDude said in Rpi 4 and two monitors:

    npm ERR! code ENOENT
    npm ERR! syscall open
    npm ERR! path /home/pi/package.json
    npm ERR! errno -2

    you are doing npm start in the root, not in the MagicMirror folder…

  • @bhepler that is


      "name": "magicmirror",
      "version": "2.10.1",
      "description": "The open source modular smart mirror platform.",
      "main": "js/electron.js",
      "scripts": {
        "start": "./",     // < ------   when u do npm start this happens

  • @NathTheDude is in the MagicMirror folder

    actually the pm2 only on the 1st screen is understandable
    as the script used by pm2 is installers/

    which does

    DISPLAY=:0 npm start

    and run-start does

    # if DISPLAY is not set then set it
    if [ -z "$DISPLAY" ]; then #If not set DISPLAY is SSH remote or tty
    	export DISPLAY=:0 # Set by default display

    so I would just set export DISPLAY=:0
    and the execute

  • Project Sponsor

    I have to head home, so I can’t investigate any more for some time. But I did find this link on StackOverflow that seems to address the issue. Aren’t we using an X11 based desktop manager?
    Anyway, this may help.

  • @bhepler correct, that is DISPLAY

  • thanks @sdetweil , right you are - I was not running npm from within the MagicMirror directory.

    When I update ‘Display’ to 1 I still get an error when trying to manually run NPM, however when ‘Display’ is set to 0 and then I run NPM there are no errors with it. The error is:

    pi@MagicMirrors:~/MagicMirror $ npm start
    > magicmirror@2.10.1 start /home/pi/MagicMirror
    > ./
    (electron:11918): Gtk-WARNING **: 22:18:00.088: cannot open display: :1
    npm ERR! code ELIFECYCLE
    npm ERR! errno 1
    npm ERR! magicmirror@2.10.1 start: `./`
    npm ERR! Exit status 1
    npm ERR! 
    npm ERR! Failed at the magicmirror@2.10.1 start script.
    npm ERR! This is probably not a problem with npm. There is likely additional logging output above.
    npm ERR! A complete log of this run can be found in:
    npm ERR!     /home/pi/.npm/_logs/2020-02-04T22_18_00_154Z-debug.log
    pi@MagicMirrors:~/MagicMirror $ 

    @bhepler thanks for the link, it is a bit beyond my understanding at the moment. I will have to read up on it a bit more. I tried to run xrandr to see what kind of status it gives on the monitors but it currently comes back with ‘Can’t open display’, I assume it is because another service/application is utilising them?

    Anyway, thanks for your help.

  • @NathTheDude said in Rpi 4 and two monitors:

    When I update ‘Display’ to 1 I still get an error

    Yes, we just need to find out what the other Display number is.

    tvservice is wrong cause it reports display 2 for HDMI 0, and we know it’s really Display 0

  • @sdetweil , so using ‘0’ or ‘0.0’ give the same result and start MM on the first monitor.

    So far I have tried 1,2,3,4,5,6,7,8,9 and 0.1, 0.2, 0.3, 0.4, 0.5

    How far do I go? 🙂

  • @NathTheDude The 2nd monitor should be display 0, screen 1. Use this:


  • Hey @OldSunGuy , thanks. ‘0’ and ‘0.0’ seem to be the first monitor however I get an error when I try anything else. So far I have tried using each of the following: 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 0.0, 0.1, 0.2, 0.3, 0.4, 0.5, 0.6, 0.7, 0.8, 0.9

    Each time I try to start npm (npm start) apart from when I use 0 or 0.0 I get the following (with the value reflecting the number I changed in ‘’):

    (electron:2238): Gtk-WARNING **: 06:14:02.236: cannot open display: :0.1

    @sdetweil - not sure if this is relevant but it does not seem to matter what value I set in ‘’, when I reboot the pi it will always start MM on the first screen. Should it not fail if it is using ‘’?

    Also with an incorrect value being added to ‘’, when I run ‘’ this always works and displays MM on the first screen.

    okay, I think I understand it now. When I reboot it is using ‘’, within is the following:

    cd ~/MagicMirror
    DISPLAY=:0 npm start

    Which I assume means that the ‘’ is not used during boot up?

    When I change this value to anything other than 0, this will also fail with the same error seen when trying to run npm previously.

Log in to reply