Running electron (atom-shell) headlessly on linux server through Nightmare.js
Asked Answered
E

1

8

I am building a scraper to make JS single page applications easily crawlable.

After some incredible frustration with PhantomJS (memory leaks, outdated webkit, undead processes, among many other problems) I decided to switch to NightmareJS which can do the same things but uses Electron under the hood. Electron has a lot of advantages (uses latest chromium, is a lot faster) but it needs an X server to run.

As I need to make it work under ubuntu server, I followed this gist . Now I have a great EC2 instance with everything ready to run an headless electron

xvfb-run electron

The point is that I need to run this through nightmareJS (which I will use in a node.js server script). I was wondering how I could pass parameters to nightmare in order to start electron through svfb

Elizabethelizabethan answered 16/9, 2015 at 15:29 Comment(2)
You probably should ask this in the Nightmare issue tracker on GitHub. The move to electron is pretty new and I don't know if the developers frequent Stack Overflow.Extern
The link to the gist is broken. I need this...Epicedium
L
4

I don't know if there is a better way, but at least for my works run the main process using xvfb-run command:

$ xvfb-run node --harmony simple-service.js
Worker 12153 is online
Worker 12155 is online
Worker 12154 is online
Worker 12156 is online
Lichen answered 9/11, 2015 at 17:2 Comment(1)
Will multiple instances of Nightmare work when running it like this?Samoyedic

© 2022 - 2024 — McMap. All rights reserved.