]> git.proxmox.com Git - mirror_novnc.git/blame - README.md
Fix chinese translation errors
[mirror_novnc.git] / README.md
CommitLineData
b2ac253b 1## noVNC: HTML VNC Client Library and Application
5aeb9880 2
5911cfd5 3[![Build Status](https://travis-ci.org/novnc/noVNC.svg?branch=master)](https://travis-ci.org/novnc/noVNC)
5aeb9880 4
5ba1dd78 5### Description
5aeb9880 6
b2ac253b
PO
7noVNC is both a HTML VNC client JavaScript library and an application built on
8top of that library. noVNC runs well in any modern browser including mobile
9browsers (iOS and Android).
a538be43 10
0f725a30 11Many companies, projects and products have integrated noVNC including
f901d9c9 12[OpenStack](http://www.openstack.org),
0f725a30
SM
13[OpenNebula](http://opennebula.org/),
14[LibVNCServer](http://libvncserver.sourceforge.net), and
b55bfcf0 15[ThinLinc](https://cendio.com/thinlinc). See
5911cfd5 16[the Projects and Companies wiki page](https://github.com/novnc/noVNC/wiki/Projects-and-companies-using-noVNC)
f901d9c9 17for a more complete list with additional info and links.
cbb55df0 18
eba7f064
PDH
19### Table of Contents
20
21- [News/help/contact](#newshelpcontact)
22- [Features](#features)
23- [Screenshots](#screenshots)
24- [Browser Requirements](#browser-requirements)
25- [Server Requirements](#server-requirements)
26- [Quick Start](#quick-start)
e1d50c8c 27- [Installation from Snap Package](#installation-from-snap-package)
eba7f064
PDH
28- [Integration and Deployment](#integration-and-deployment)
29- [Authors/Contributors](#authorscontributors)
30
cbb55df0
JM
31### News/help/contact
32
395c6f60 33The project website is found at [novnc.com](http://novnc.com).
bc715065 34Notable commits, announcements and news are posted to
544106c5 35[@noVNC](http://www.twitter.com/noVNC).
5aeb9880 36
b55bfcf0 37If you are a noVNC developer/integrator/user (or want to be) please join the
544106c5 38[noVNC discussion group](https://groups.google.com/forum/?fromgroups#!forum/novnc).
cbb55df0 39
b55bfcf0 40Bugs and feature requests can be submitted via
45a2717d
PO
41[github issues](https://github.com/novnc/noVNC/issues). If you have questions
42about using noVNC then please first use the
43[discussion group](https://groups.google.com/forum/?fromgroups#!forum/novnc).
7c9a7dca
PO
44We also have a [wiki](https://github.com/novnc/noVNC/wiki/) with lots of
45helpful information.
46
b55bfcf0
SM
47If you are looking for a place to start contributing to noVNC, a good place to
48start would be the issues that are marked as
5911cfd5 49["patchwelcome"](https://github.com/novnc/noVNC/issues?labels=patchwelcome).
b84e6052
PO
50Please check our
51[contribution guide](https://github.com/novnc/noVNC/wiki/Contributing) though.
cbb55df0 52
b55bfcf0
SM
53If you want to show appreciation for noVNC you could donate to a great non-
54profits such as:
55[Compassion International](http://www.compassion.com/),
56[SIL](http://www.sil.org),
57[Habitat for Humanity](http://www.habitat.org),
58[Electronic Frontier Foundation](https://www.eff.org/),
59[Against Malaria Foundation](http://www.againstmalaria.com/),
60[Nothing But Nets](http://www.nothingbutnets.net/), etc.
544106c5 61Please tweet [@noVNC](http://www.twitter.com/noVNC) if you do.
68edd7f4 62
bc715065
JM
63
64### Features
65
66* Supports all modern browsers including mobile (iOS, Android)
b8dd87c7 67* Supported VNC encodings: raw, copyrect, rre, hextile, tight, tightPNG
36edae6d
PO
68* Supports scaling, clipping and resizing the desktop
69* Local cursor rendering
bc715065 70* Clipboard copy/paste
f5d76dd5 71* Translations
addf16c6
PO
72* Licensed mainly under the [MPL 2.0](http://www.mozilla.org/MPL/2.0/), see
73 [the license document](LICENSE.txt) for details
bc715065 74
852ba642
JM
75### Screenshots
76
69300d3c 77Running in Firefox before and after connecting:
600887f0 78
69300d3c
SM
79<img src="http://novnc.com/img/noVNC-1-login.png" width=400>&nbsp;
80<img src="http://novnc.com/img/noVNC-3-connected.png" width=400>
5aeb9880 81
b55bfcf0 82See more screenshots
544106c5 83[here](http://novnc.com/screenshots.html).
852ba642
JM
84
85
6de07adb
JM
86### Browser Requirements
87
1bc11d7d
PO
88noVNC uses many modern web technologies so a formal requirement list is
89not available. However these are the minimum versions we are currently
90aware of:
6de07adb 91
0b51419c 92* Chrome 49, Firefox 44, Safari 11, Opera 36, IE 11, Edge 12
d4139a9b
JM
93
94
6de07adb 95### Server Requirements
5aeb9880 96
62bfc487
PO
97noVNC follows the standard VNC protocol, but unlike other VNC clients it does
98require WebSockets support. Many servers include support (e.g.
99[x11vnc/libvncserver](http://libvncserver.sourceforge.net/),
100[QEMU](http://www.qemu.org/), and
101[MobileVNC](http://www.smartlab.at/mobilevnc/)), but for the others you need to
102use a WebSockets to TCP socket proxy. noVNC has a sister project
103[websockify](https://github.com/novnc/websockify) that provides a simple such
104proxy.
5aeb9880 105
5aeb9880 106
b89c6db3 107### Quick Start
5aeb9880 108
62bfc487
PO
109* Use the launch script to automatically download and start websockify, which
110 includes a mini-webserver and the WebSockets proxy. The `--vnc` option is
111 used to specify the location of a running VNC server:
b89c6db3
JM
112
113 `./utils/launch.sh --vnc localhost:5901`
114
b55bfcf0 115* Point your browser to the cut-and-paste URL that is output by the launch
84f1f7c8
PO
116 script. Hit the Connect button, enter a password if the VNC server has one
117 configured, and enjoy!
b89c6db3 118
e1d50c8c
TE
119### Installation from Snap Package
120Running the command below will install the latest release of noVNC from Snap:
121
122`sudo snap install novnc`
123
124#### Running noVNC
125
126You can run the Snap-package installed novnc directly with, for example:
127
128`novnc --listen 6081 --vnc localhost:5901 # /snap/bin/novnc if /snap/bin is not in your PATH`
129
130#### Running as a Service (Daemon)
131The Snap package also has the capability to run a 'novnc' service which can be
132configured to listen on multiple ports connecting to multiple VNC servers
133(effectively a service runing multiple instances of novnc).
134Instructions (with example values):
135
136List current services (out-of-box this will be blank):
137
138```
139sudo snap get novnc services
140Key Value
141services.n6080 {...}
142services.n6081 {...}
143```
144
145Create a new service that listens on port 6082 and connects to the VNC server
146running on port 5902 on localhost:
147
148`sudo snap set novnc services.n6082.listen=6082 services.n6082.vnc=localhost:5902`
149
150(Any services you define with 'snap set' will be automatically started)
151Note that the name of the service, 'n6082' in this example, can be anything
152as long as it doesn't start with a number or contain spaces/special characters.
153
154View the configuration of the service just created:
155
156```
157sudo snap get novnc services.n6082
158Key Value
159services.n6082.listen 6082
160services.n6082.vnc localhost:5902
161```
162
163Disable a service (note that because of a limitation in Snap it's currently not
164possible to unset config variables, setting them to blank values is the way
165to disable a service):
166
167`sudo snap set novnc services.n6082.listen='' services.n6082.vnc=''`
168
169(Any services you set to blank with 'snap set' like this will be automatically stopped)
170
171Verify that the service is disabled (blank values):
172
173```
174sudo snap get novnc services.n6082
175Key Value
176services.n6082.listen
177services.n6082.vnc
178```
b89c6db3 179
91e811f7
PO
180### Integration and Deployment
181
182Please see our other documents for how to integrate noVNC in your own software,
183or deploying the noVNC application in production environments:
184
185* [Embedding](docs/EMBEDDING.md) - For the noVNC application
186* [Library](docs/LIBRARY.md) - For the noVNC JavaScript library
187
188
b8dd87c7
JM
189### Authors/Contributors
190
84586c0f
SR
191See [AUTHORS](AUTHORS) for a (full-ish) list of authors. If you're not on
192that list and you think you should be, feel free to send a PR to fix that.
193
f901d9c9
JM
194* Core team:
195 * [Joel Martin](https://github.com/kanaka)
196 * [Samuel Mannehed](https://github.com/samhed) (Cendio)
197 * [Peter Åstrand](https://github.com/astrand) (Cendio)
198 * [Solly Ross](https://github.com/DirectXMan12) (Red Hat / OpenStack)
41f476a8 199 * [Pierre Ossman](https://github.com/CendioOssman) (Cendio)
f901d9c9
JM
200
201* Notable contributions:
32ec8f32 202 * UI and Icons : Pierre Ossman, Chris Gordon
b8dd87c7
JM
203 * Original Logo : Michael Sersen
204 * tight encoding : Michael Tinglof (Mercuri.ca)
205
206* Included libraries:
b8dd87c7 207 * base64 : Martijn Pieters (Digital Creations 2), Samuel Sieb (sieb.net)
b8dd87c7 208 * DES : Dave Zimmerman (Widget Workshop), Jef Poskanzer (ACME Labs)
6940936f 209 * Pako : Vitaly Puzrin (https://github.com/nodeca/pako)
7629b03e 210
b84e6052
PO
211Do you want to be on this list? Check out our
212[contribution guide](https://github.com/novnc/noVNC/wiki/Contributing) and
213start hacking!