wayvnc - Man Page

A VNC server for wlroots based Wayland compositors.

Synopsis

wayvnc [options] [address [port]]

Options

-C,  --config=<path>

Select a config file.

-o,  --output=<name>

Select output to capture.

-k,  --keyboard=<layout>[-variant]

Select keyboard layout. The variant can be appended if needed.

-s,  --seat=<name>

Select seat by name.

-r,  --render-cursor

Enable overlay cursor rendering.

-f,  --max-fps=<fps>

Set the rate limit (default 30).

-p,  --show-performance

Show performance counters.

-V,  --version

Show version info.

-h,  --help

Get help.

Description

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.

Configuration

wayvnc searches for a config file in the location

~/$XDG_CONFIG_HOME/wayvnc/config

or if $XDG_CONFIG_HOME is not set

~/.config/wayvnc/config

Syntax

The configuration file is composed of key-value pairs separated with an equal sign. Whitespace around either the key or the value is insignificant and is not considered to be part of the key or the value.

Keywords

address

The address to which the server shall bind, e.g. 0.0.0.0 or localhost.

certificate_file

The path to the certificate file for encryption. Only applicable when enable_auth=true.

enable_auth

Enable authentication and encryption. Setting this value to true requires also setting certificate_file, private_key_file, username and password.

password

Choose a password for authentication.

port

The port to which the server shall bind. Default is 5900.

private_key_file

The path to the private key file for encryption. Only applicable when enable_auth=true.

username

Choose a username for authentication.

xkb_layout

The keyboard layout to use for key code lookup.

Default: XKB_DEFAULT_LAYOUT or system default.

xkb_model

The keyboard model by which to interpret keycodes and LEDs.

Default: "pc105"

xkb_options

A comma separated list of options, through which the user specifies non-layout related preferences such as which key is the Compose key.

Default: XKB_DEFAULT_OPTIONS or system default.

xkb_rules

The rules file describes how to interpret the values of the model, layout, variant and options fields.

Default: XKB_DEFAULT_RULES or system default.

xkb_variant

The keyboard variant to use for keycode lookup.

Default: XKB_DEFAULT_VARIANT or system default.

Example

  address=0.0.0.0
  enable_auth=true
  username=luser
  password=p455w0rd
  private_key_file=/path/to/key.pem
  certificate_file=/path/to/cert.pem

Environment

The following environment variables have an effect on wayvnc:

WAYLAND_DISPLAY

Specifies the name of the Wayland display that the compositor to which wayvnc shall bind is running on.

XDG_CONFIG_HOME

Specifies the location of configuration files.

FAQ

How can I run wayvnc in headless mode/over an SSH session?

Set the environment variables WLR_BACKENDS=headless and WLR_LIBINPUT_NO_DEVICES=1 before starting the compositor, then run wayvnc as normal.

How can I pass my mod-key from Sway to the remote desktop session?

Create an almost empty mode in your sway config. Example:

  mode passthrough {
  	bindsym $mod+Pause mode default
  }
  bindsym $mod+Pause mode passthrough

This makes it so that when you press $mod+Pause, all keybindings, except the one to switch back, are disabled.

Not all symbols show up when I'm typing. What can I do to fix this?

Try setting the keyboard layout in wayvnc to the one that most closely matches the keyboard layout that you're using on the client side. An exact layout isn't needed, just one that has all the symbols that you use.

How do I enable the Compose key?

Set "xkb_options=compose:menu" in the config file. Any key that is not otherwise used will work. There just needs to be some key for wayvnc to match against.

Authors

Maintained by Andri Yngvason <andri@yngvason.is>. Up-to-date sources can be found at https://github.com/any1/wayvnc and bugs reports or patches can be submitted to GitHub's issue tracker.

Info

2021-01-27