Net-VNC

 view release on metacpan or  search on metacpan

README  view on Meta::CPAN

NAME
    Net::VNC - A simple VNC client

SYNOPSIS
      use Net::VNC;

      my $vnc = Net::VNC->new({hostname => $hostname, password => $password});
      $vnc->depth(24);
      $vnc->login;

      print $vnc->name . ": " . $vnc->width . ' x ' . $vnc->height . "\n";

      my $image = $vnc->capture;
      $image->save("out.png");

DESCRIPTION
    Virtual Network Computing (VNC) is a desktop sharing system which uses
    the RFB (Remote FrameBuffer) protocol to remotely control another
    computer. This module acts as a VNC client and communicates to a VNC
    server using the RFB protocol, allowing you to capture the screen of the
    remote computer.

    This module dies upon connection errors (with a timeout of 15 seconds)
    and protocol errors.

    This implementation is based largely on the RFB Protocol Specification,
    <http://www.realvnc.com/docs/rfbproto.pdf>. That document has an error
    in the DES encryption description, which is clarified via
    <http://www.vidarholen.net/contents/junk/vnc.html>.

METHODS
  new
    The constructor. Given a hostname and a password returns a Net::VNC
    object:

      my $vnc = Net::VNC->new({hostname => $hostname, password => $password});

    Optionally, you can also specify a port, which defaults to 5900. For ARD
    (Apple Remote Desktop) authentication you must also specify a username.
    You must also install Crypt::GCrypt::MPI and Crypt::Random.

  login
    Logs into the remote computer:

      $vnc->login;

  name
    Returns the name of the remote computer:

      print $vnc->name . ": " . $vnc->width . ' x ' . $vnc->height . "\n";

  width
    Returns the width of the remote screen:

      print $vnc->name . ": " . $vnc->width . ' x ' . $vnc->height . "\n";

  height
    Returns the height of the remote screen:

      print $vnc->name . ": " . $vnc->width . ' x ' . $vnc->height . "\n";

  capture
    Captures the screen of the remote computer, returning an Image::Imlib2
    object:

      my $image = $vnc->capture;
      $image->save("out.png");

    You may call capture() multiple times. Each time, the $image buffer is
    overwritten with the updated screen. So, to create a series of ten
    screen shots:

      for my $n (1..10) {
        my $filename = sprintf 'snapshot%02d.png', $n++;
        $vnc->capture()->save($filename);
        print "Wrote $filename\n";
      }



( run in 1.177 second using v1.01-cache-2.11-cpan-39bf76dae61 )