Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de>pull/1/head
parent
705a5d46e6
commit
d670aac383
@ -1,191 +0,0 @@
|
||||
<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML//EN">
|
||||
<html>
|
||||
<head>
|
||||
<title>LibVNCServer/LibVNCClient</title>
|
||||
</head>
|
||||
|
||||
<body>
|
||||
<h1>LibVNCServer/LibVNCClient</h1>
|
||||
|
||||
<br>
|
||||
|
||||
If you have problems updating with CVS, here is a <a href=LibVNCServer-0.8pre.tar.gz>preliminary version</a>. If you are looking for more information
|
||||
on Karl's wonderful x11vnc, either download it
|
||||
<a href=http://sourceforge.net/project/showfiles.php?group_id=32584>here</a>, or
|
||||
look at <a href=http://www.karlrunge.com/x11vnc/>x11vnc's homepage</a>.
|
||||
<p>
|
||||
|
||||
<h2> News </h2>
|
||||
<strong>2005/09/29</strong> LibVNCServer now sports a brand new method to extend the protocol, thanks to Rohit Kumar! He also extended the library to support RFB 3.7. Furthermore, he contributed TightVNC file transfer protocol support to LibVNCServer!
|
||||
<p>
|
||||
<strong>2005/05/25</strong> LibVNCClient now features ZRLE decoding!
|
||||
<p>
|
||||
<strong>2005/05/15</strong> Another round of valgrinding completed. This time it is augmented by changes instigated by using Linus' sparse. In the course, the complete sources were converted to ANSI C.
|
||||
<p>
|
||||
<strong>2005/05/07</strong> The member socketInitDone was renamed to socketState, and no longer contains a bool value. This allows us to quit a server cleanly from the event loop via rfbShutdownServer(), so that the structures can be cleaned up properly. This is demonstrated in examples/example.c.
|
||||
<p>
|
||||
<strong>2005/01/21</strong> The function rfbMakeMaskFromAlphaSource() applies a Floyd-Steinberg dither to approximate a binary mask from a cursor with alpha channel. A demonstration can be found in test/cursortest.c.
|
||||
<p>
|
||||
<strong>2005/01/16</strong> Renamed this page to reflect that LibVNCClient is actually very usable.
|
||||
<p>
|
||||
<strong>2005/01/16</strong> Karl Runge has done awesome work to support cursors with alpha blending! You can try it with x11vnc as in CVS, or wait a few more days for x11vnc to be released officially!
|
||||
<p>
|
||||
<strong>2005/01/15</strong> Happy new year! It begins with a new macro recorder based on LibVNCServer/LibVNCClient using perl as script language. The macro recorder is itself written in perl, and writes out perl scripts, acting as a VNC proxy, so that you can connect a vncviewer to it, and it records all your input, possibly looking for a certain button, image, word, etc. before continuing. I called it VisualNaCro, and it's in CVS.
|
||||
<p>
|
||||
<strong>2004/12/20</strong> Just before christmas, a new release! Version 0.7 brings you the first non-beta of LibVNCServer...
|
||||
<p>
|
||||
<strong>2004/12/02</strong> Finally MinGW32 support. I only had problems with a vncviewer which wouldn't connect to localhost: I use SDLvncviewer...
|
||||
<p>
|
||||
<strong>2004/12/01</strong> LibVNCClient is getting better and better... Expect a very powerful client soon!
|
||||
<p>
|
||||
<strong>2004/10/16</strong> LibVNCServer has automated test, thanks to LibVNCClient (included). It doesn't do ZRLE yet, and exposed some bugs, the only remaining of these is CoRRE (not sure yet if it's a bug in the client or the server).
|
||||
<p>
|
||||
<strong>2004/09/14</strong> Added
|
||||
<a href=http://libvncserver.sourceforge.net/success.html>
|
||||
Success stories</a>.
|
||||
<p>
|
||||
<strong>2004/09/07</strong> The API was cleaned up. The structures and functions now have a prefix (mostly "rfb", sometimes "zrle" or "sra") in order not to clutter the namespace, while the structure's members don't need such a prefix.
|
||||
<p>
|
||||
<strong>2004/08/17</strong> I finally came around to fix mouse behaviour in QEMU's VNC frontend for Windows 98. Please find the patch <a href=qemu/>here</a>. If mouse behaves strangely, try to wiggle the pointer to a free spot on the desktop, hit Ctrl+Shift and release them. After that, the mouse should behave nicely.
|
||||
<p>
|
||||
<strong>2004/06/07</strong> After silently being added almost a year ago, libvncclient's API was modified for real use, and three examples were added: ppmtest (a very simple demo), SDLvncviewer, and vnc2mpg (which lets you record your VNC session to a movie). Automated regression tests of the libraries are planned.
|
||||
<p>
|
||||
<strong>2004/06/02</strong> <a href=http://www.karlrunge.com/x11vnc/>x11vnc</a>-0.6.1 was released! This reflects the long way the original, small example has gone, improved in many possible ways and having a broad user base.
|
||||
<p>
|
||||
<strong>2004/05/29</strong> Some <a href=qemu/>patches</a> were created for <a href=http://fabrice.bellard.free.fr/qemu/>QEMU</a>, a FAST! emulator by Fabrice Bellard, to control those sessions with a vncviewer.
|
||||
<p>
|
||||
<strong>2004/02/29</strong> LibVNCServer is listed as a project using <a href=http://valgrind.kde.org/>Valgrind</a>!
|
||||
<p>
|
||||
<strong>2003/11/07</strong> Version 0.6 is out! x11vnc performance boosts! You no longer need a c++ compiler in order to have ZRLE coding! LinuxVNC was added (This is to the text console what x11vnc is to X11)!
|
||||
<p>
|
||||
<strong>2003/02/21</strong> rdp2vnc is in rdesktop's CVS.
|
||||
<p>
|
||||
<strong>2003/02/19</strong> A preliminary patch for rdesktop (CVS) to make
|
||||
rdp2vnc, a translator from Windows Terminal Server's protocol to VNC's protocol,
|
||||
is <a href=rdesktop-cvs+vnc.diff.gz>available</a>. It needs a new version of
|
||||
libvncserver; try CVS until I release 0.6.
|
||||
<p>
|
||||
<strong>2003/02/09</strong> Version 0.5 is out! Features include autoconf based configure, rpm package (YMMV), cleanup of directory structure, NEW x11vnc! ZRLE encoding! HTTP tunnelling through LibVNCServer's HTTP support! Many bug fixes!
|
||||
<p>
|
||||
<strong>2002/07/28</strong> Version 0.4 is out! Biggest feature: NewFB encoding. Quite a few bugfixes also (Thanks to all!).
|
||||
<p>
|
||||
<strong>2001/12/14</strong> A new version of
|
||||
<a href=http://prdownloads.sourceforge.net/libvncserver/rdesktop-1.1.0+vnc-0.2.tar.gz>rdesktop+vnc</a> is available!
|
||||
(Includes support for other platforms keyboard mapping with plain rdesktop!)
|
||||
<p>
|
||||
<strong>2001/10/23</strong> Added a link to my homepage at the end.
|
||||
<p>
|
||||
<strong>2001/10/18</strong> I released the rdp2vnc extensions as well as
|
||||
patches for general keyboard handling, working inside Xvnc and
|
||||
process_text2 (the famous "font:" error) to rdesktop. Please find it on
|
||||
the <a href=http://sourceforge.net/project/showfiles.php?group_id=32584>
|
||||
download page</a>.
|
||||
<p>
|
||||
<strong>2001/10/13</strong> A snapshot of
|
||||
<a href=http://sourceforge.net/project/showfiles.php?group_id=32584>
|
||||
LibVNCServer</a> and
|
||||
<a href=http://sourceforge.net/project/showfiles.php?group_id=32584>
|
||||
RDP2VNC</a>
|
||||
is now available. You can also download the
|
||||
<a href=http://sourceforge.net/project/showfiles.php?group_id=32584>
|
||||
diff</a> against rdesktop-1.1.0.
|
||||
rdp2vnc also contains the patches for keyboards other than PC keyboards,
|
||||
and you can specify "-k fr" again.
|
||||
|
||||
<p><br>
|
||||
|
||||
<h2> Introduction </h2>
|
||||
If you don't know VNC, have a look at
|
||||
<a href=http://www.uk.research.att.com/vnc/>the original VNC</a> or at
|
||||
<a href=http://www.tridiavnc.com/>Tridia VNC</a>, who also have commercial
|
||||
support for it.
|
||||
|
||||
<p>
|
||||
|
||||
Now that you know what it is, maybe you want to make your own server.
|
||||
If this is not the case, you can ignore the rest of this page an go on
|
||||
surfing the internet.
|
||||
|
||||
<p>
|
||||
|
||||
Now that you want to make a VNC server, that is, a server which speaks
|
||||
the RFB protocol, you can download this library from
|
||||
<a href=http://sf.net/projects/libvncserver/>sourceforge</a>.
|
||||
|
||||
<p>
|
||||
|
||||
The simplest server looks like this:<br><br>
|
||||
|
||||
<pre>
|
||||
#include <rfb/rfb.h>
|
||||
|
||||
int main(int argc,char** argv)
|
||||
{
|
||||
rfbScreenInfoPtr server=rfbGetScreen(&argc,argv,400,300,8,3,4);
|
||||
server->frameBuffer=malloc(400*300*4);
|
||||
rfbInitServer(server);
|
||||
rfbRunEventLoop(server,-1,FALSE);
|
||||
return(0);
|
||||
}
|
||||
|
||||
</pre>
|
||||
|
||||
This sample creates a 400x300 frame buffer in true colour. There are
|
||||
4 bytes per pixel, because 3 (which are only used instead of all 4) is
|
||||
such an odd number. Then the server is initialized and a blocking event
|
||||
loop is started.
|
||||
|
||||
<p>
|
||||
Of course, this program only shows rubbish (whatever is in the frame
|
||||
buffer you malloc'd), but it proves that writing a server can be
|
||||
very easy.
|
||||
|
||||
<p>
|
||||
For details (especially if you want to write a real server) look into the
|
||||
provided examples, pnmshow.c and example.c, and into the README. You find
|
||||
there documentation for much more complicated servers.
|
||||
|
||||
<p>
|
||||
Serious comments, suggestions, pizzas, etc. go to
|
||||
<a href=mailto:Johannes.Schindelin@RuBBISHgmx.de>me</a>
|
||||
(delete the RuBBISH).
|
||||
|
||||
<p>
|
||||
Here are some links:
|
||||
|
||||
<p>
|
||||
LibVNCServer is an adapted
|
||||
<a href=http://www.redstonesoftware.com/vnc.html>OSXvnc-server</a> by
|
||||
<a href=mailto:mcguirk@incompleteness.net>Dan McGuirk</a>,
|
||||
which is in turn an adapted original
|
||||
<a href=http://www.uk.research.att.com/vnc/>Xvnc</a>.
|
||||
<p>
|
||||
I use it to to drive a
|
||||
<strong>Windows Terminal Server (RDP) to RFB converter</strong> with it.
|
||||
Much work has been done to make
|
||||
<a href=http://www.rdesktop.org/>rdesktop</a>
|
||||
a good X client to Windows Terminal Services (both NT and 2000, see
|
||||
<a href=http://bibl4.oru.se/projects/rdesktop/>rdesktop patches</a>).
|
||||
Previous work was done by <a href=mailto:tme23@cam.ac.uk>Tim Edmonds</a>
|
||||
who has set up such a converter named
|
||||
<a href=http://www-lce.eng.cam.ac.uk/~tme23/vdesktop/>vdesktop</a>
|
||||
including a single client server and a multi client server, rdp2vnc.
|
||||
Unfortunately he used the example code from rfbcounter, which can encode only
|
||||
RRE, which is not a good compression.
|
||||
<p>
|
||||
<a href=http://libvncserver.sourceforge.net/success.html>Other people</a>
|
||||
have used this library as well.
|
||||
<p>
|
||||
If you want to know about other of my projects, look at
|
||||
<a href=http://wrzx69.rz.uni-wuerzburg.de/~gene099/index.html>my homepage</a>.
|
||||
<hr>
|
||||
Project hosted on the fantastic
|
||||
<A href="http://sourceforge.net">
|
||||
<IMG src="http://sourceforge.net/sflogo.php?group_id=32584"
|
||||
width="88" height="31" border="0" alt="SourceForge Logo"></A><br>
|
||||
<!-- Created: Thu Sep 27 12:27:41 MESZ 2001 -->
|
||||
<!-- hhmts start -->
|
||||
Last modified: Mon Jan 17 18:23:00 MESZ 2005
|
||||
<!-- hhmts end -->
|
||||
</body>
|
||||
</html>
|
@ -1,45 +0,0 @@
|
||||
<html>
|
||||
<head>
|
||||
<title>Success stories</title>
|
||||
</head>
|
||||
<body>
|
||||
<ul>
|
||||
<li>
|
||||
<a href=http://www.karlrunge.com>Karl Runge</a> took my first version of
|
||||
x11vnc, which was just a proof-of-concept that the library actually is
|
||||
usable, and turned it into a <a href=http://www.karlrunge.com/x11vnc/>
|
||||
fully fledged application</a>.
|
||||
<li>
|
||||
Tim Jansen created <a href=http://www.tjansen.de/krfb/>KRFB</a>, which is
|
||||
x11vnc integrated into KDE.
|
||||
<li>
|
||||
Jeff Mock of <a href=http://alfa.naic.edu>the world's largest radio telescope
|
||||
in Arecibo</a> sent me a nice
|
||||
<a href=http://libvncserver.sourceforge.net/alfa-vnc.gif>screenshot</a>,
|
||||
describing his use of LibVNCServer:
|
||||
|
||||
<p>
|
||||
|
||||
<i>I've been using it for about 4 months
|
||||
on a project to build a new spectrometer for the radio telescope at
|
||||
Arecibo. Arecibo is the largest radio telescope in the world (305m!) in
|
||||
Puerto Rico. It has 10-times the collecting area of the second largest
|
||||
telescope in Effelsburg (maybe near you?).
|
||||
|
||||
<p>
|
||||
|
||||
The project is an embedded linux box that boots from a compact flash
|
||||
card. The root filesystem is only about 5MB. X wasn't reasonable
|
||||
for such a small embedded system, but libvncserver was perfect. On
|
||||
the console we run graphical diagnostics that write directly to the
|
||||
frame buffer. It was a simple matter to hook this direct-framebuffer
|
||||
application to libvncserver. This way we can easily view the
|
||||
diagnostics for the spectrometer from the control room (or anyplace
|
||||
else for that matter).</i>
|
||||
|
||||
<li>
|
||||
michu let me know that <a href=http://ssl.bulix.org/projects/lcd4linux/>
|
||||
LCD4Linux</a> has a VNC backend using LibVNCServer.
|
||||
</body>
|
||||
</html>
|
||||
|
Loading…
Reference in new issue