Which VNC Software Is Best?
Futurepower(R) writes "Which VNC software do you think is best, and why? There are several free programs, for example, TightVNC, RealVNC, UltraVNC, and TridiaVNC. Or, is it better to pay for VNC software, like Tridia VNC Pro or Radmin? Which is fastest, most secure, and the least hassle? Which has video resolution scaling of the remote desktop?"
UltraVNC because their website has a picture of a girl.
vino's included in gnome 2.6 and uses the new xorg extensions making it very very fast
tight vnc has delivered better video and a more stable comneection for me both over a local netowrk at college and phone modems at home.
I'd go for the first to support OS/2.
Let's think about this for a moment. UltraVNC is the only Windows VNC that acts like a video driver. THus it's the only one that doesn't need to poll the hell out of your computer. Thus it's the only one that gets all the screen updates right.
Pinky, are you thinking what I'm thinking?
Javascript + Nintendo DSi = DSiCade
For Mac OS X, there are several options; what I believe to be the best options are below.
On the server end of things, there's OSXvnc, a nice free VNC server for Mac OS X. (There's even an OS9vnc, on the same page.)
The best free client for Mac OS X, in my opinion, is Chicken of the VNC.
At the commercial end of the spectrum is Apple Remote Desktop 2.1. Apple Remote Desktop is much more than just a remote control solution; it provides desktop and systems management tools, software distribution tools, mass screen sharing, scripted actions, and all sorts of other features. But as of version 2, the remote screen protocol is based on VNC. With one checkbox, any VNC client can connect to any machine running Apple's VNC server software (which it confusingly calls "Remote Desktop Client"), and Apple's client software (which it calls "Remote Desktop Admin") can connect to ordinary VNC servers on any platform. Apple Remote Desktop does automatic resolution scaling, full screen, etc., and as of 2.1, even supports multiple monitors - even when using free VNC clients to connect! The VNC server piece (the one Apple calls "Client") is free, but there's a catch: at least one copy Remote Desktop Admin is required to be "legal", but then Remote Desktop Client can be installed on an unlimited number of machines in your organization.
I wouldn't use any of em; can't trust the VNC. Lousy Vemocrats!!!
as a user of the original REAL VNC, i went to tight case it performed much better over dialup
You tried your best, & you failed miserably,
The lesson is:
Never Try
The only VNC i have used is RealVNC, PCanywhere (Old) and Remote desktop for MS windows. I realize the best and most speedy one out of them all are actually Remote desktop that came with WindowsXP Pro and such.. I still use RealVNC for internet connection. The Java browser that does not requires software download are particularly useful. But perhaps it is time to check out the alternative... I didn't realize there are so many out there at all!
If we're talking Unix(ish) systems then the fastest and most functional on fast connections (like ethernet) is actually "none of the above". A normal X11 session is much more smooth and responsive than any VNC. Endless scaling, etc...
And Terminal Services on Windows is much better than VNC (there are Unix clients).
Over slow connections VNC is better. I just use whichever works. I've found that RealVNC locks up/crashes Windows less often than the others.
The ratio of people to cake is too big
For Windows platforms, I find that Microsoft Terminal Server (aka Remote Desktop) is the easiest way to troubleshoot problems without actually being at the computer. It also seems to fair quite a bit better over dial-up lines than VNC does.
We use RealVNC at our office. I have played with UltraVNC, which I found to have a few stability issues, and TightVNC, which was nice. If I recall correctly, TightVNC has a file transfer feature, which comes in handy from time to time.
The first question is which VNC programs are GPL. This is the most important factor in finding the best VNC out there.
I have used a number remote control software packages (ranging from PCAnywhere to TightVNC), and in my experience, RAdmin provided the absolute lowest possible overhead on the wire - with PCAW 10 (the last version I used) and others, the best way to get the best performance is to cut the resolution down and cut the colour depth down.
With RAdmin, neither of these was necessary. I threw a sniffer on the wire to see what the traffic was like, and it was extremely small.
It also worked under Wine reasonably well (I don't know if they make a native Linux version now, they didn't when I played with it a couple of years ago). The amount of traffic with a 1600x1200x24 resolution on the remote desktop was small enough to be used over a dialup with reasonably good performance.
Insanity is a gradual process; don't rush it.
Personally, I only trust any VNC client (and I use RealVNC and TightVNC regularly) if I tunnel it over SSH. The protocol itself isn't terribly complex, and there are plenty of ways to obtain passwords off the wire (the password encryption algorithm, last time I checked, wasn't very secure).
Insanity is a gradual process; don't rush it.
Pinky, are you thinking what I'm thinking?
Uh... yeah, Brain, but where are we going to find rubber pants our size?
In a *nix-only environment, I prefer ssh with X forwarding.
I've heard there are products that serve X over low bandwidth.
You make the mistake of thinking you can educate the fundamental stupidity out of people. You can't.
Apple has information on how to start Remote Desktop remotely for ARD versions 1.2 and earlier, 1.2.1 to 1.2.4, and 2.0 and newer.
I used several VNC clients, and I found Ultra to be the best one. Acts like a video driver, has file transfers, is free, and has several other features I can't remember.
-------
Support Indy Music. Buy
For our part, here's what we've settled on:
Win32 UltraVNC Linux / *NIX TightVNC for virtual framebuffers x11vnc for sharing outx11vnc -forever -passwd mysecretpw
Mac OS X OSXVNC for the server VNCViewer as the client I've heard good things about Chicken of the VNC (but haven't gotten around to trying it yet) Have fun!VNC is trivially tunneled over SSH, or over SSL for the Java-based server that allows a VNC session to be published to any Java-capable browser. That feature alone gets it a jusge bonus award over the other that require a client-end software package to be installed. Overall, it's not typically faster than an OS-specific client and server, but that cross-platform availability is a huge deal, especially if you're cheap and want to use it on thousands of potential servers in a corporate or large academic environment.
Also historically, the original VNC was extremely robust over multiple OS's, very lightweight on your CPU on each end, and extremely forgiving of low-bandwidth connections such as modems. The Java based console is also being used by a bunch of blade server management tools to provide the IP-based console access to the individual blades.
Last, VNC is ectremely useful for multiple console presentations, either with the other client's mice and keyboards disabled for the VNC session or with them active for shared screen use.
Now, that said, VNC is not that secure in and of itself. There are various issues, such as its common use of high-numbered network ports and the unlikelihood of local firewalls to block them and the resulting ability of some smart-aleck leaving a VNC server running on your Windows desktop so they can observe you remotely because you're not clever or experienced enough to notice the little flag on your screen that says VNC is active. There's also its practice of insisting on storing a local user key for the VNC session: once someone has that key and either brute-force cracks it, or reads you typing in your password over your shoulder, they can take over any VNC server you might run.
This is why some of us really prefer to SSH-tunnel sessions, so that all the X-windows traffic of VNC is encrypted, and so that it's much tougher to steal the passwords to log into such a connection.
RealVNC: the original.
TightVNC: optimized for low-bandwidth
Ultra: tons of extras - file transfer, chat, video driver, NT/AD security
Tridia: get around firewalls, more management features
I miss anything?
"Sometimes a woman is a kind of religion, she can save your soul & set you free from all your sins" - Bad Examples
Remote desktop is not the same beast as VNC. VNC and derivatives are based on getting bits and pieces of your desktop video image that change, then compressing them (or not), and sending them to the other end. Once on the other end, they are decompressed (or not) and blitted to a video buffer to build up an image. That's it. That is all VNC does. It gives you an image of what is going on on the remote end.
Remote desktop however is a bit different. It doesn't give you just an image of what is occuring on the other end. Remote desktop is a stripped down single user terminal server. When you connect to an XP or 2000 machine using RD, then the remote XP machine redirects all local console functions of that machine to your client. This has the effect of knocking out whoever is sitting at the local console of the machine you are RD'ing into. In effect, all video operations are redirected to an off-screen video buffer, then compressed, and sent on their way using the remote desktop protocol. The sucky thing about this is that remote desktop only allows one and only one console session to exist.
Remote desktop also encrypts the entire session using 128 bit encryption. It even allows you to redirect your local disks and printers to the remote machine for use. You can use this feature for a sort'of poor mans VPN. All the data moved through the redirected drives will be encrypted and moved over the RDP port.
Remote desktop is faster than VNC because Microsoft is able to perform tricks in kernel space. For example, if you fire up windows media player to view a video file, then that data doesn't have to be rendered at all on the remote machine. Microsoft simply streams it to your client machine using RDP. The same thing however won't work with Apple QuickTime or RealPlayer. I'm also not entirely sure whether the windows are even drawn to video first. Microsoft may be pulling some redirection of GDI commands so that RD acts somewhat like X in that respect.
Our site uses VNC for user desktop support since the video is shared with the user. We use remote desktop for server management. Remote desktops feature for helping the user is problematic at best becuase they have to invite you to join first. It whole invitation thing is simply cumbersome. That's why it is just simpler to use VNC.
So, there are positives and negatives to using VNC or RD.
+1
On the freedesktop.org lists, there was talk of a VNC server that used X's new damage extension to work out what's changed on screen without crappy polling.
Go google for it. I have work to do.
Aww, after that parent post about the girl when I first came to the word "busted" in your post I thought it was going to be used as an anatomical reference...
If you're using VNC, you probably notice how slow it is. UltraVNC/TightVNC is a big improvement over regular VNC, as well as XWindows, but they're all dog slow.
NX (by NoMachine) and FreeNX (the GPL'ed edition) are REALLY fast, on the other hand. They are 100% encrypted through SSH and can tunnel to VNC, X, and RDP....
NX will currently only host from Unix/Linux. However, there are a bunch of clients.
I made an IMMEDIATE change to FreeNX/NX after using it only once. Now, I no longer use VNC for Linux....
I used VNC right up until I found the fatal flaw which should scare anyone away from it.
I VNC'd into my work machine to check a few things, but then needed to check my email on my own desktop. Without thinking (I thought I was at work because, hey, this is my work background!) I VNC'd to my home computer - which is the computer I was using to VNC into work.
Let me tell you what. It wasn't bad enough that VNC crawled to the speed of molasses going uphill on a cold day. No, VNC further decided to lag the mouse movement so everytime I inched closer to the 'X' to close the session, it would jump forward a little, then backward more than I moved and oscillate there a little bit until it settled down and I could try again. It took control of the mouse on my screen!
Someone needs to check into this. Seriously, someone could be injured if they accidently VNC'd recursively. I'm just glad it was only looped on itself once. Imagine if I VNC'd through a dozen computers! The oscillations would never dampen, bringing the universe (at least the internet, and they're pretty much the same thing anyway) to a grinding sine wavy halt.
Is there a VNC that checks for this failure mode? Perhaps a good PID algorithm is all that's needed, but something must be done.
-Adam
FreeNX is for when it absolutely, positively, has to be double the speed. (-:
The NX protocol is essentially compressed and cached X; it talks to VNC, RDP and whetever else through its own proxy.
Mandrake 10.0 RPMs are here and here. The SRPMs will probably rebuild fine on 10.1 or 9.2 and are here and here.
Got time? Spend some of it coding or testing
I recently posted a list of the VNC's in debian, with a description of how each one serves a different purpose to LUGOD's vox-tech mailing list. The post is quoted here in full, so that you do not need to click the link, thereby slashdotting their server.
I was asked "Is there one implementation that's better than the others? Why did this piece of software fork so many times?"
And I answered as follows:
Because they're all different. Some for framebuffers, some serve differently, some compressed, some not. Read on, and I think you'll getthe idea.
(Search packages.debian.org for vnc, and you'll see all of these pop up.)
TightVNC uses JPEG or zlib to compress the data stream to optimize for lower bandwidth connections. It is under the GPL. Packages: tightvncserver, and xtightvncviewer
The default VNC viewer (packages vncserver and xvncviewer) are (c) 2002 RealVNC, and (C)1994-2000 AT&T. They are under the GPL. This seems to be
what you alien'ed.
x2vnc - use a vnc server as a second screen, so you can move the mouse between the local machine and a machine across the network that is running the vnc client.
directvnc - doesn't require x - uses libdirectfb-0.9-20. Depends on zlib and libjpeg, so it may work with tightvnc's protocol
svncviewer - depends on svgalib
x11vnc - the x11vnc server works the same way the Windows 2000 vnc server does - mirroring the physical screen over vnc
linuxvnc - "With linuxvnc you can export your currently running text sessions to any VNC client. So it can be useful, if you want to move to another computer without having to log out and if you've forgotten to attach a 'screen' session to it, or to help a distant colleague to solve a problem."
3dwm-vncclient - I think you get the picture
vnc-java - I think you know what this is. Why bother with it? Probably so you can serve yourself a vnc client over HTTP, probably.
tkvnc - a wrapper for xvncviewer
I use both UltraVNC and RealVNC at work and around the house.
UltraVNC is miles ahead of the others when used with the video driver on Windows on a broadband or better connection. It is smooth, very usable for most office applications. Personally, I find file transfer to be useful too. The client side has some nice GUI touches for fullscreen mode - a little control bar that is very similar to the one in Remote Desktop.
On the other hand, RealVNC is the "gold standard". The stable releases are extremely stable. Of note, in version 4, there is a nice GUI for limiting remote access by IP address.
It is worth emphasizing that there is a vast difference between RealVNC on Linux and on Windows. Because of the nature of OSS, on Linux, VNC doesn't need to screen scrape. On Windows, w/o a special video driver (a la UltraVNC), VNC is generally stuck with a high-tech version of screen scapeing - it's slow, innacurate, and generally unpleasant for "work", but still incredibly valuable for the flexibilty of remote access.
On Win2k Server (the only Win2k with Remote Desktop/Terminal Services), Remote Desktop allows two RDP "sessions" plus the local console. No provision is made to EVER remote-control the console session. Remote sessions are limited to Administrator users.
/console and remote the console 0 session itself, if you so desire. This is optional.
/server:COMPUTERNAME) to shadow the console session of a logged-in user and leave them logged in and able to control the session as you do with PCAnywhere/VNC. This must be done from an existing Remote session (good for remoting to a customer's server, then shadowing a desktop to work on things). There is a Group Policy setting (SP2 ADMs, folks) that lets you set permissions-requirements, so the user is not required to ALLOW you to do this.
On Win2k3 Server, as in Win2k, you are limited to two simultaneous RDP sessions, but you are now able to
These two above are _without_ having purchased any Terminal Services CALS or any additional software.
Finally, with WinXP SP2, it is entirely possible to configure (via a registry setting) the OS to allow a RDP session separate from the console 0 session. There is significant discussion over the topic of if this feature made it into SP2 release, or was pulled in late beta. I can say that I have seen it work on a SP2 release system. There may be specific caveats such as the PC not being in a domain, and having "Fast User Switching" enabled (as the one, peculiar PC where this happened to me would have been configured), but the functionality is definitely there.
Finally with regards to WinXP, given another system, it is possible to use the command-line shadow command (ex. shadow 0
The point is that there is much more to the Remote Desktop remote administrator and XP RDC functionality than meets the eye if you merely click the icon.
"Oh no... he found the
free but not Free X11R6.5.1 server for Windows
Latest version released August 1, 2004 as freeware, but identical to previous 2002 commercial version...
old, buggy, no longer maintained, but Free, DirectX 6.1-based port of R6.5.1.
I'm half considering attempting to merge the diffs from that port into Xorg 6.8... I started the other day on a lark, told myself that if I got it to compile I'd create a sf.net project for it... Don't hold your breath though, coz I've got a billon other projects demanding my time just at the moment...
"Go to CNN [for a] spell-checked, fact-checked summary" -- CmdrTaco