#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.

5 releases

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

#98 in WebSocket

Download history 32/week @ 2024-09-02 15/week @ 2024-09-23 126/week @ 2024-11-25

126 downloads per month

LGPL-3.0-only

2.5MB
61K SLoC

C 35K SLoC // 0.1% comments JavaScript 22K SLoC // 0.1% comments PO File 2.5K SLoC // 0.3% comments Rust 392 SLoC // 0.2% comments Perl 328 SLoC // 0.2% comments Bitbake 145 SLoC C++ 141 SLoC // 0.2% comments Python 74 SLoC // 0.3% comments Shell 25 SLoC // 0.4% 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