Skip to content

Easily start and stop an X Virtual Frame Buffer from your node apps

License

Notifications You must be signed in to change notification settings

cypress-io/xvfb

Repository files navigation

@cypress/xvfb

easily start and stop an X Virtual Frame Buffer from your node apps.

CircleCI Build Status semantic-release renovate-app badge

Usage

var Xvfb = require('xvfb');
var options = {}; // optional
var xvfb = new Xvfb(options);
xvfb.start(function(err, xvfbProcess) {
  // code that uses the virtual frame buffer here
  xvfb.stop(function(err) {
    // the Xvfb is stopped
  });
});

The Xvfb constructor takes four options:

  • displayNum - the X display to use, defaults to the lowest unused display number >= 99 if reuse is false or 99 if reuse is true.
  • reuse - whether to reuse an existing Xvfb instance if it already exists on the X display referenced by displayNum.
  • timeout - number of milliseconds to wait when starting Xvfb before assuming it failed to start, defaults to 2000.
  • silent - don't pipe Xvfb stderr to the process's stderr.
  • xvfb_args - Extra arguments to pass to Xvfb.
  • onStderrData - Function to receive stderr output

Debugging

Run with DEBUG=xvfb environment variable to see debug messages. If you want to see log messages from the Xvfb process itself, use DEBUG=xvfb,xvfb-process.

Thanks to

Forked from node-xvfb

both of which served as inspiration for this package.