#frame-buffer #vnc #client-server #rfb #vncserver

libvnc

libvncserver(client) bindings for Rust. VNC is a set of programs using the RFB (Remote Frame Buffer) protocol. They are designed to export a frame buffer via net: you set up a server and can connect to it via VNC viewers. If the server supports WebSockets (which LibVNCServer does), you can also connect using an in-browser VNC viewer like noVNC.

4 releases

0.1.3 May 27, 2024
0.1.2 May 4, 2024
0.1.1 May 2, 2024
0.1.0 Apr 30, 2024

#94 in WebSocket

LGPL-3.0-only

1.5MB
36K SLoC

C 35K SLoC // 0.1% comments Rust 383 SLoC // 0.2% comments Perl 317 SLoC // 0.2% comments Bitbake 145 SLoC C++ 98 SLoC // 0.3% comments Python 74 SLoC // 0.3% comments Shell 14 SLoC // 0.2% comments

libvnc

What's this

libvncserver safe bindings for Rust. Although its name is libvncserver, it actually provides both server and client functions

Quick Start

Build from source is not implemented yet, so we need to install the pre-built libvncserver package.

Install libvncserver package

  • Ubuntu
sudo apt-get install libvncserver-dev
  • Centos
sudo yum install libvncserver-devel
  • Macos
brew install libvncserver

Run

examples can be found at examples

#!! Start a vnc server at 127.0.0.1:5900 before running the example
cargo run --bin image_capture

Dependencies

~0–2.2MB
~44K SLoC