A VNC server for wlroots based Wayland compositors
 
 
 
 
Go to file
Andri Yngvason e6b1ca8044 keyboard: Assign state to keys rather than symbols
The keys are pressed and released, not the symbols. This fixes tracking
of the state of a key through modifier changes. E.g. A capital 'A' may
be received from the client while the shift key is pressed, but if the
shift key is released before the 'a' key, the 'a' symbol is generated.
2020-01-25 13:19:08 +00:00
include keyboard: Assign state to keys rather than symbols 2020-01-25 13:19:08 +00:00
protocols Add xdg_output_v1 for more output info 2020-01-24 20:08:57 +00:00
src keyboard: Assign state to keys rather than symbols 2020-01-25 13:19:08 +00:00
.gitignore .gitignore: Add .ycm_extra_conf.py 2019-12-22 21:46:16 +00:00
COPYING COPYING: It's 2020 now 2020-01-14 19:03:38 +00:00
README.md README: Improve introduction 2020-01-17 07:58:16 +00:00
meson.build Create an integer set data structure 2020-01-25 13:17:24 +00:00

README.md

wayvnc

Introduction

This is a VNC server for wlroots based Wayland compositors. It attaches to a running Wayland session, creates virtual input devices and exposes a single display via the RFB protocol. The Wayland session may be a headless one, so it is also possible to run wayvnc without a physical display attached.

Building

Runtime Dependencies

  • EGL
  • libuv
  • libxkbcommon
  • neatvnc
  • OpenGL ES V2.0
  • pixman

Build Dependencies

  • GCC
  • meson
  • ninja
  • pkg-config

The easiest way to satisfy the neatvnc dependency is to clone it into the subprojects directory:

mkdir subprojects
git clone https://github.com/any1/neatvnc.git subprojects/neatvnc

Setting the buildtype flag is not required but it is recommended as there are significant performance gains to be had from an optimised build.

meson build --buildtype=release
ninja -C build

Running

Wayvnc can be run from the build directory like so:

./build/wayvnc

☢️ The server only accepts connections from localhost by default. To accept connections via any interface, set the address to 0.0.0.0 like this:

./build/wayvnc 0.0.0.0

⚠️ Do not do this on a public network or the internet. Wayvnc does not support any kind of encryption or password protection. A good way to protect your VNC connection is to use SSH tunneling while listening on localhost.