App::screenorama - Application output to websocket stream




This program allow you to pipe STDOUT and STDERR from a program over a websocket.



The data transmitted over the websocket connection is JSON in each frame:

  • Startup


    Same as "program" and "program_args".

  • Output


    Comes after each time the program emit data. NOTE: There's no guaranty that it will be emitted on newline.

  • Exit


    The exit value of the application. The websocket will be closed after you see this.

  • Error


    If something goes wrong with the application or other operating system errors.



  # let others connect to the running program
  $ screenorama daemon --listen http://*:5000 -- 'while sleep 1; do echo "hey!"; done'

  # pipe the output on incoming request
  $ screenorama daemon -- ls -l

  # Set parameters from config file
  $ MOJO_CONFIG=/path/to/ screenorama daemon

Supported config/environment variables:

  • conduit

    See Mojo::IOLoop::ReadWriteFork.

    Default value: "pty".

    Environment variable: SCREENORAMA_CONDUIT.

  • program

    The application to run.

  • program_args

    The arguments given to "program".

  • single

    Set this to true if the server should just run one application, shared between every connection. The default is false, meaning a new instance of "program" will be started on each request.

    Environment variable: SCREENORAMA_SINGLE.

  • stdin

    Set this to true if the "program" should accept commands from STDIN.

    Environment variable: SCREENORAMA_STDIN.


Connect a browser to http://localhost:5000 or ws://localhost:5000 to see the output.


Jan Henning Thorsen -