Electron Error: Cannot open display :0
I have tried to setup MM2 about 20 times by now and always run into exactly the same error:
pi@MirrorPi:~ $ cd MagicMirror/ pi@MirrorPi:~/MagicMirror $ DISPLAY=:0 npm start > firstname.lastname@example.org start /home/pi/MagicMirror > sh run-start.sh (electron:24936): Gtk-WARNING **: cannot open display: :0 npm ERR! code ELIFECYCLE npm ERR! errno 1 npm ERR! email@example.com start: `sh run-start.sh` npm ERR! Exit status 1 npm ERR! npm ERR! Failed at the firstname.lastname@example.org 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/2018-10-03T21_35_33_903Z-debug.log
The Log-File states:
info it worked if it ends with ok 1 verbose cli [ '/usr/bin/node', '/usr/bin/npm', 'start' ] 2 info using email@example.com 3 info using firstname.lastname@example.org 4 verbose run-script [ 'prestart', 'start', 'poststart' ] 5 info lifecycle email@example.com~prestart: firstname.lastname@example.org 6 info lifecycle email@example.com~start: firstname.lastname@example.org 7 verbose lifecycle email@example.com~start: unsafe-perm in lifecycle true 8 verbose lifecycle firstname.lastname@example.org~start: PATH: /usr/lib/node_modules/npm/node_modules/npm-lifecycle/node-gyp-bin:/home/pi/MagicMirror/node_modules/.bin:/usr/local/sb$ 9 verbose lifecycle email@example.com~start: CWD: /home/pi/MagicMirror 10 silly lifecycle firstname.lastname@example.org~start: Args: [ '-c', 'sh run-start.sh' ] 11 silly lifecycle email@example.com~start: Returned: code: 1 signal: null 12 info lifecycle firstname.lastname@example.org~start: Failed to exec start script 13 verbose stack Error: email@example.com start: `sh run-start.sh` 13 verbose stack Exit status 1 13 verbose stack at EventEmitter. (/usr/lib/node_modules/npm/node_modules/npm-lifecycle/index.js:301:16) 13 verbose stack at EventEmitter.emit (events.js:182:13) 13 verbose stack at ChildProcess. (/usr/lib/node_modules/npm/node_modules/npm-lifecycle/lib/spawn.js:55:14) 13 verbose stack at ChildProcess.emit (events.js:182:13) 13 verbose stack at maybeClose (internal/child_process.js:962:16) 13 verbose stack at Process.ChildProcess._handle.onexit (internal/child_process.js:251:5) 14 verbose pkgid firstname.lastname@example.org 15 verbose cwd /home/pi/MagicMirror 16 verbose Linux 4.14.70-v7+ 17 verbose argv "/usr/bin/node" "/usr/bin/npm" "start" 18 verbose node v10.11.0 19 verbose npm v6.4.1 20 error code ELIFECYCLE 21 error errno 1
My setup process is:
- clean install of latest image of Raspian stretch
- setup wifi, keyboard, CLI-boot
- sudo apt-get update && sudo apt-get upgrade
- set memory-split to 256
- activate Fake KMS
- install latest versions of NodeJS (via apt-get) and npm (via npm)
- install MM2 via raspberry.sh script
I do not get any error messages during setup.
I also tried the manual setup several times with the same result and even tried different Pis, SD cards and Monitors. Setting up the system on-site or via SSH does not make a difference either.
Searching the internet did not get me very far. What I tried without success:
xhost +–> unable to open display “:0”
xhost local:root--> unable to open display “:0”
xhost +localhost--> unable to open display “:0”
Defaults env_keep=DISPLAYin /etc/sudoers
export XAUTHORITY=$HOME/.Xauthorityin /home/pi/.bashrc
Do you have any idea how to solve this?
bream last edited by bream
I had the same error, and the problem turned out to be that on first boot I had decided to reconfigure the pi to boot to the console rather than the desktop. Consequently I didn’t have a x server running (doh!)
You didn’t mention that as one of your setup steps, but I though it might be worth mentioning.
sdetweil last edited by
setup wifi, keyboard, CLI-boot
you ARE running the GUI desktop, right… NOT commandline.
bream last edited by
I am now
@bream @sdetweil Thank you very much for your reply! This could be the right path! I have initially configured the Pi on the GUI surface (Wifi, Keyboard) and then switched to CLI boot. I have done this with my previous installations of MagicMirror without problems, as electron started the x-server as needed. This does not seem to work anymore…
How do I revert this? I have changed back from CLI-boot to Desktop GUI in raspi-config. If I ssh into the pi and start MagicMirror via
DISPLAY=:0 npm start, the application claims to start without problems:
> email@example.com start /home/pi/MagicMirror > sh run-start.sh Starting MagicMirror: v2.5.0 Loading config ... Loading module helpers ... No helper found for module: alert. Initializing new module helper ... Module helper loaded: updatenotification No helper found for module: clock. Initializing new module helper ... Module helper loaded: calendar No helper found for module: compliments. No helper found for module: currentweather. No helper found for module: weatherforecast. Initializing new module helper ... Module helper loaded: newsfeed All module helpers loaded. Starting server on port 8080 ... Server started ... Connecting socket for: updatenotification Connecting socket for: calendar Starting node helper for: calendar Connecting socket for: newsfeed Starting module: newsfeed Sockets connected & modules started ... Launching application.
Unfortunately, the display still just shows the GUI of the operation system.
Could you please help me from here?
Thank you very much!
sdetweil last edited by
@rudibarani i only do npm start from my ssh session
do u have a keyboard on the pi? if so, ctrl-alt-t will open a shell window… then u should be able to get to the previous command with up arrow…