xvfb-lauf unter Mac OSX

9644
Adi Shavit

Ich versuche, SlimerJS im Headless-Modus auszuführen, damit unter Mac OSX kein sichtbares Browserfenster geöffnet wird.

Nach dem SlimerJS docs, kann dies über getan werden, xvfbwas „unter Linux verfügbar und MacOS“ mit dem Befehl:

>> xvfb-run ./slimerjs myscript.js. 

OSX wird zwar mitgeliefert xvfb, verfügt jedoch nicht über das entsprechende xvfb-runSkript.

Wie kann ich mit der OSX- xvfbVersion dieselbe Funktionalität nutzen ?

4

1 Antwort auf die Frage

3
mweppler

Sie können etwas wie das folgende versuchen (funktioniert für mich mit dem Ausführen meiner Python-Testfälle):

$ Xvfb :1337 & export DISPLAY=:1337 & ./slimerjs myscript.js. 
Ist gut, wenn Sie erklären können, was dieser Befehl bewirkt. VL-80 vor 8 Jahren 5
Kein "xvfb" -Experte, aber "Xvfb: 1337" startet ein "* x * -window * v * irtual * f * rame * b * uffer" (xvfb), der vorgibt, ein Window-Server zu sein, aber nicht Schreibe irgendetwas auf einen Bildschirm) Hören auf Port 1337; Mit `export DISPLAY =: 1337` wird die env-Variable` DISPLAY` auf dieselbe Portnummer gesetzt. X-Anwendungen senden also ihre Bildschirmbefehle an diesen Port. `./slimerjs mysript.js` ruft die Anwendung auf, die auf dem Bildschirm schreiben will und kopflos läuft, wie wir wollen. chesterbr vor 7 Jahren 0
(Es könnte sich um einen beliebigen Port handeln, aber @mweppler scheint eine [leet] (https://en.wikipedia.org/wiki/Leet) -Person zu sein :-)) chesterbr vor 7 Jahren 0
Ich denke, dass xvfb-run auch den Xvfb-Prozess abbricht, nachdem der Prozess ausgeführt wurde. Vielleicht wäre ein Killall-xvfb am Ende hilfreich? keisar vor 7 Jahren 0