1wayvnc(1)
2
3# NAME
4
5wayvnc - A VNC server for wlroots based Wayland compositors.
6
7# SYNOPSIS
8
9*wayvnc* [options] [address [port]]
10
11# OPTIONS
12
13*-C, --config=<path>*
14	Select a config file.
15
16*-o, --output=<name>*
17	Select output to capture.
18
19*-k, --keyboard=<layout>[-variant]*
20	Select keyboard layout. The variant can be appended if needed.
21
22*-s, --seat=<name>*
23	Select seat by name.
24
25*-r, --render-cursor*
26	Enable overlay cursor rendering.
27
28*-f, --max-fps=<fps>*
29	Set the rate limit (default 30).
30
31*-p, --show-performance*
32	Show performance counters.
33
34*-V, --version*
35	Show version info.
36
37*-h, --help*
38	Get help.
39
40# DESCRIPTION
41
42This is a VNC server for wlroots based Wayland compositors. It attaches to a
43running Wayland session, creates virtual input devices and exposes a single
44display via the RFB protocol. The Wayland session may be a headless one, so it
45is also possible to run wayvnc without a physical display attached.
46
47# CONFIGURATION
48
49wayvnc searches for a config file in the location
50	~/$XDG_CONFIG_HOME/wayvnc/config
51or if $XDG_CONFIG_HOME is not set
52	~/.config/wayvnc/config
53
54## SYNTAX
55
56The configuration file is composed of key-value pairs separated with an *equal*
57sign. Whitespace around either the key or the value is insignificant and is not
58considered to be part of the key or the value.
59
60## KEYWORDS
61
62*address*
63	The address to which the server shall bind, e.g. 0.0.0.0 or localhost.
64
65*certificate_file*
66	The path to the certificate file for encryption. Only applicable when
67	*enable_auth*=true.
68
69*enable_auth*
70	Enable authentication and encryption. Setting this value to *true*
71	requires also setting *certificate_file*, *private_key_file*,
72	*username* and *password*.
73
74*password*
75	Choose a password for authentication.
76
77*port*
78	The port to which the server shall bind. Default is 5900.
79
80*private_key_file*
81	The path to the private key file for encryption. Only applicable when
82	*enable_auth*=true.
83
84*username*
85	Choose a username for authentication.
86
87*xkb_layout*
88	The keyboard layout to use for key code lookup.
89
90	Default: _XKB_DEFAULT_LAYOUT_ or system default.
91
92*xkb_model*
93	The keyboard model by which to interpret keycodes and LEDs.
94
95	Default: "pc105"
96
97*xkb_options*
98	A comma separated list of options, through which the user specifies
99	non-layout related preferences such as which key is the Compose key.
100
101	Default: _XKB_DEFAULT_OPTIONS_ or system default.
102
103*xkb_rules*
104	The rules file describes how to interpret the values of the model,
105	layout, variant and options fields.
106
107	Default: _XKB_DEFAULT_RULES_ or system default.
108
109*xkb_variant*
110	The keyboard variant to use for keycode lookup.
111
112	Default: _XKB_DEFAULT_VARIANT_ or system default.
113
114## EXAMPLE
115
116```
117address=0.0.0.0
118enable_auth=true
119username=luser
120password=p455w0rd
121private_key_file=/path/to/key.pem
122certificate_file=/path/to/cert.pem
123```
124
125# ENVIRONMENT
126
127The following environment variables have an effect on wayvnc:
128
129_WAYLAND_DISPLAY_
130	Specifies the name of the Wayland display that the compositor to which
131	wayvnc shall bind is running on.
132
133_XDG_CONFIG_HOME_
134	Specifies the location of configuration files.
135
136# FAQ
137
138*How can I run wayvnc in headless mode/over an SSH session?*
139
140	Set the environment variables _WLR_BACKENDS_=headless and
141	_WLR_LIBINPUT_NO_DEVICES_=1 before starting the compositor, then run
142	wayvnc as normal.
143
144*How can I pass my mod-key from Sway to the remote desktop session?*
145
146	Create an almost empty mode in your sway config. Example:
147	```
148	mode passthrough {
149		bindsym $mod+Pause mode default
150	}
151	bindsym $mod+Pause mode passthrough
152	```
153	This makes it so that when you press $mod+Pause, all keybindings, except
154	the one to switch back, are disabled.
155
156*Not all symbols show up when I'm typing. What can I do to fix this?*
157
158	Try setting the keyboard layout in wayvnc to the one that most closely
159	matches the keyboard layout that you're using on the client side. An
160	exact layout isn't needed, just one that has all the symbols that you
161	use.
162
163*How do I enable the Compose key?*
164
165	Set "xkb_options=compose:menu" in the config file. Any key that is not
166	otherwise used will work. There just needs to be some key for wayvnc to
167	match against.
168
169# AUTHORS
170
171Maintained by Andri Yngvason <andri@yngvason.is>. Up-to-date sources can be
172found at https://github.com/any1/wayvnc and bugs reports or patches can be
173submitted to GitHub's issue tracker.
174