@@ -360,57 +360,7 @@ The server program will tell you a URL to point your web browser to. There,
360
360
you can click on the noVNC-encrypted-connection-button to connect using the
361
361
bundled noVNC viewer using an encrypted Websockets connection.
362
362
363
- History
364
- =======
365
363
366
- LibVNCServer is based on Tridia VNC and OSXvnc, which in turn are based on
367
- the original code from ORL/AT&T.
368
-
369
- When I began hacking with computers, my first interest was speed. So, when I
370
- got around assembler, I programmed the floppy to do much of the work, because
371
- its clock rate was higher than that of my C64. This was my first experience
372
- with client/server techniques.
373
-
374
- When I came around Xwindows (much later), I was at once intrigued by the
375
- elegance of such connectedness between the different computers. I used it
376
- a lot - not the least priority lay on games. However, when I tried it over
377
- modem from home, it was no longer that much fun.
378
-
379
- When I started working with ASP (Application Service Provider) programs, I
380
- tumbled across Tarantella and Citrix. Being a security fanatic, the idea of
381
- running a server on windows didn't appeal to me, so Citrix went down the
382
- basket. However, Tarantella has its own problems (security as well as the
383
- high price). But at the same time somebody told me about this "great little
384
- administrator's tool" named VNC. Being used to windows programs' sizes, the
385
- surprise was reciprocal inverse to the size of VNC!
386
-
387
- At the same time, the program "rdesktop" (a native Linux client for the
388
- Terminal Services of Windows servers) came to my attention. There where even
389
- works under way to make a protocol converter "rdp2vnc" out of this. However,
390
- my primary goal was a slow connection and rdp2vnc could only speak RRE
391
- encoding, which is not that funny with just 5kB/s. Tim Edmonds, the original
392
- author of rdp2vnc, suggested that I adapt it to Hextile Encoding, which is
393
- better. I first tried that, but had no success at all (crunchy pictures).
394
-
395
- Also, I liked the idea of an HTTP server included and possibly other
396
- encodings like the Tight Encodings from Const Kaplinsky. So I started looking
397
- for libraries implementing a VNC server where I could steal what I can't make.
398
- I found some programs based on the demo server from AT&T, which was also the
399
- basis for rdp2vnc (can only speak Raw and RRE encoding). There were some
400
- rumors that GGI has a VNC backend, but I didn't find any code, so probably
401
- there wasn't a working version anyway.
402
-
403
- All of a sudden, everything changed: I read on freshmeat that "OSXvnc" was
404
- released. I looked at the code and it was not much of a problem to work out
405
- a simple server - using every functionality there is in Xvnc. It became clear
406
- to me that I * had* to build a library out of it, so everybody can use it.
407
- Every change, every new feature can propagate to every user of it.
408
-
409
- It also makes everything easier:
410
- You don't care about the cursor, once set (or use the standard cursor).
411
- You don't care about those sockets. You don't care about encodings.
412
- You just change your frame buffer and inform the library about it. Every once
413
- in a while you call rfbProcessEvents and that's it.
414
364
415
365
Basics
416
366
======
0 commit comments