]> git.lizzy.rs Git - plan9front.git/blob - sys/man/1/vnc
paint(1) fix bad cross reference
[plan9front.git] / sys / man / 1 / vnc
1 .TH VNC 1
2 .SH NAME
3 vncs, vncv \- remote frame buffer server and viewer for Virtual Network Computing (VNC)
4 .SH SYNOPSIS
5 .B vncs
6 [
7 .B -v
8 ]
9 [
10 .B -c
11 .I cert
12 ]
13 [
14 .B -d
15 .BI : display
16 ]
17 [
18 .B -g
19 .IB width x height
20 ]
21 [
22 .B -p
23 .I pixfmt
24 ]
25 [
26 .B -x
27 .I net
28 ]
29 [
30 .I cmd
31 [
32 .I args
33 ...
34 ]
35 ]
36 .PP
37 .B vncs
38 .B -k
39 .BI : display
40 [
41 .B -x
42 .I net
43 ]
44 .PP
45 .B vncv
46 [
47 .B -cstv
48 ]
49 [
50 .B -e
51 .I encodings
52 ]
53 [
54 .B -k
55 .I keypattern
56 ]
57 .IR host [\fL: n ]
58 .SH DESCRIPTION
59 VNC is a lightweight protocol
60 for accessing graphical applications
61 remotely.  The protocol allows one or more
62 clients to connect to a server.
63 While connected, clients display the frame buffer
64 presented by the server and can send mouse events,
65 keyboard events, and exchange snarf buffers.
66 The server persists across viewer sessions, so that
67 the virtual application can be accessed from various locations
68 as its owner moves around.
69 .PP
70 VNC displays have names of the form
71 .IB host : n \fR,
72 where
73 .I host
74 is the machine's network name and
75 .I n
76 is a small integer identifier; display
77 .I n
78 is served on TCP port
79 .RI 5900+ n .
80 .PP
81 .I Vncs
82 starts a new virtual frame buffer in memory, simulating
83 a Plan 9 terminal running
84 .I cmd
85 .IR args ,
86 by default an interactive shell.
87 As viewers connect, each is authenticated using a 
88 (rather breakable) challenge-response protocol using
89 the user's Inferno/POP password.
90 .PP
91 The options are:
92 .TF "\fL-p \fIpixfmt"
93 .PD
94 .TP
95 .B -c \fIcert
96 start TLS on each viewer connection using the certificate
97 in the file
98 .IR cert .
99 The corresponding private key must be loaded into
100 the server's
101 .IR factotum (4).
102 When serving TLS connections, the base port is
103 35729 rather than 5900.
104 .TP
105 .B -d :\fIn
106 run on display
107 .I n ;
108 without this option, the server searches
109 for an unused display.
110 .TP
111 .B -g \fIwidth\fBx\fIheight\fR
112 set the virtual frame buffer to be
113 .IB width x height
114 (default
115 1024x768)
116 pixels.
117 .TP
118 .B -p \fIpixfmt
119 set the virtual frame buffer's internal pixel format to
120 .I pixfmt
121 (default
122 .BR r5g6b5 ).
123 .TP
124 .B -v
125 print verbose output to standard error.
126 .TP
127 .B -x \fInet
128 announce on an alternate network interface.
129 Because of the weak authentication protocol and
130 default lack of encryption, this option must
131 be accompanied by
132 .BR -c .
133 .PD
134 .PP
135 The command
136 .B vncs
137 .B -k
138 .BI : n
139 kills the VNC server running on display
140 .IR n .
141 .PP
142 .I Vncv
143 provides access to remote display
144 .IB host : n \fR.
145 It resizes its window to be the smaller of the
146 remote frame buffer size and the local screen.
147 .PP
148 The options are:
149 .TP
150 .B -c
151 when connecting to 8-bit displays, request
152 .B r4g4b4
153 pixels rather than 
154 .B r3g3b2
155 pixels.
156 This takes up more bandwidth but usually gives
157 significantly better matching to the Plan 9 color map.
158 .TP
159 .B -e \fIencodings
160 set the ordered list of allowed frame buffer update encodings.
161 The default (and full) set is
162 .B copyrect
163 .B corre
164 .B hextile
165 .B rre
166 .BR raw .
167 The encodings should be given as a single space-separated argument
168 (quoted when using the shell).
169 .TP
170 .B -k \fIkeypattern
171 add 
172 .I keypattern
173 to the pattern used to select a key from 
174 .IR factotum (4).
175 .TP
176 .B -s
177 share the display with extant viewers;
178 by default extant viewers are closed
179 when a new viewer connects.
180 .TP
181 .B -t
182 start TLS on the connection.
183 .TP
184 .B -v
185 print verbose output to standard error.
186 .PD
187 .PP
188 The VNC protocol represents keyboard input as
189 key up/down events.
190 Plan 9 does not expose the state of the
191 Ctl and Shift keys except as it can be inferred
192 from receipt of control or shifted characters.
193 It does not expose the state of the Alt key at all,
194 since the Alt key is used to compose Unicode characters
195 (see
196 .IR keyboard (6)).
197 .I Vncv
198 correctly handles the sending of control and shifted
199 characters.
200 To support systems that use key sequences like Alt-X
201 (or worse, Alt-mouse-click), typing the Plan 9 compose
202 sequences
203 .B Alt
204 .B Z
205 .B A
206 (for Alt), 
207 .B Alt
208 .B Z
209 .B C
210 (for Ctrl),
211 and
212 .B Alt
213 .B Z
214 .B S
215 (for Shift)
216 will send a ``key down'' message for
217 the given key.
218 A corresponding ``key up'' message
219 will be sent after the next key is pressed,
220 or when the sequence is retyped,
221 whichever happens first.
222 .SH SOURCE
223 .B /sys/src/cmd/vnc
224 .SH "SEE ALSO
225 .IR drawterm (8)
226 .br
227 .B http://www.uk.research.att.com/vnc
228 .SH BUGS
229 If the remote frame buffer is larger than the local screen,
230 only the upper left corner can be accessed.
231 .PP
232 .I Vncv
233 does no verification of the TLS certificate presented
234 by the server.
235 .PP
236 .I Vncv
237 supports only version 3.3 of the RFB protocol.