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?"
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.
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.
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
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.
actually ... tightvnc 1.3.x supports a video driver.
additionally, enhancements have been made to
the polling algorithm which have greatly improved
performance and cpu usage.
1.3.x is labelled a development version,
but it's very stable. check it out.
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.
UltraVNC crashes on Windows machine with an ATI All-In-Wonder Video Card. It also has problems on machines with multiple monitors.
I thought Remote Desktop was based on Citrix?
:-)
No, not quite. Citrix originally licensed NT 3.51 and changed the windows code in order to retrofit true-multiuser capabilities and their super-thin, super-fast ICA protocol. When Microsoft noticed that the idea worked, they refused to license NT 4.0, and created their RDP protocol in a hurry. As a result, the RDP protocol was similar, but much heavier than ICA.
I remember some of our users running Citrix over dial-up. It was difficult to tell they weren't at their terminals.
Javascript + Nintendo DSi = DSiCade
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.
It's not fast if you're planning on trying to connect to anything that's not Windows... Like I suspect a huge number of us are.
Eh? UltraVNC is a fork of TightVNC, so it supports the "tight" protocols just fine. As long as your Unix box is using X-Windows -> VNC translation, the performance should be just as good as UltraVNC on Windows. Before UltraVNC came along, Unix was the best place to use VNC, because the X protocol could be directly interpreted without the need for a special video driver.
Javascript + Nintendo DSi = DSiCade
There used to be a program called xmove which is the x11 equivalent to screen, but it is unmaintained and broken, I've been told.
You make the mistake of thinking you can educate the fundamental stupidity out of people. You can't.
Citrix currently runs on top of Microsoft's RDP functionality. That's why you need Terminal Server, Terminal Server Client Licenses, AND Citrix licenses. You used to be able to get it all from Citrix. (At a much lower cost I might add.)
Microsoft pretty much pushed Citrix out of the market and did their best to relegate Remote Desktop Networking to "Admin" functionality. Assholes.
Javascript + Nintendo DSi = DSiCade
I think they call it the RDC Client to be honest. Remote Desktop Connection.
Depending on what version of the underlying technology you use, it's been called RDP as well as other things. I forget what Citrix called it, since it's technically a Citrix product (like every decent MS "product" RDC was written by someone else)...
Still, the original poster was clearly mistaken. VNC = cross platform. RDC = proprietary. The only official RDC component available on a non-Windows-on-x86 is an RDC Client for OS X.
I can literally go from any VNC client to any VNC server, irregardless of underlying hardware, OS, any combination thereof. VNC is great.
Oh for crying out loud.
RDP = Remote Desktop Protocl
ICA = Independent Computing Architecture
VNC = Virtual Network Computing
Microsoft's RDP client is called Remote Desktop Client, and has nothing to do with Citrix's protocol or products. Microsoft shafted Citrix with their cheap knock-off that doesn't work 1/10 as well as Citrix's ICA protocol.
Javascript + Nintendo DSi = DSiCade
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.
Wrong!! Citrix Metaframe does not run on RDP. Citrix still uses their superfast and lean ICA protocol. Here's the real scoop (BTW, I was a WinFrame 2.0 beta tester)
Once there was OS/2... a company named citrix came along an created a multi-user version with a remote protocol much faster and leaner than X... and it was good... ran great over 9600 baud modems.
Then Windows came out and destroyed OS/2. Citrix licensed the entire Windows 3.51 code base and overhauled the kernel with new multi-user windows feature, thereafter called multi-win. They mated multi-win to their ICA protocol for presentation. You purchased "Winframe" from them, it was their build and you had to get service packs etc.. from them.. but it was rock solid, super fast and worked. You paid for the server, then a per concurrent user license fee. So you only paid for the max number of concurrent users.
Then the thin-client rage hit, spurred largely by the success of Citrix. Citrix had secured the source code to Windows NT 4.0, ported multiwin and their ICA hooks to it, christened it Winframe 2.0 and had it ready to go when Microsoft pulled the plug. Microsoft made a big splash with their "Hydra" project that they were going to come out with their own citrix killer. In reality it was a small team of program managers gathering requirements. the whole thing was created to steal multi-win and ICA before the thin-client rage destroyed them(as was the thinking back then)
So the 8,000 lb gorilla at the last moment, Citrix 2.0 was DONE for months, refused to agree to the licensing terms for NT4.0 effectively derailing Citrix. Citrix was smart though.. they didn't blink, instead they went into overdrive negotiation mode and eventually hammered out an agreement where they licensed multi-win to Microsoft for a small amount of cash, kept ICA to themselves and got Microsoft to sign a 3 year no compete for non-windows platforms. The multiwin technology was then baked into Windows NT 4.0 Terminal Server (and if you actually have a copy around and view the details on the core kernel DLLs, they still say citrix BTW) and they took their netmeeting protocol h.323 and created RDP. RDP clients were only available for windows as per the citrix agreement. Citrix then built Metaframe as an add-on to the multi-win kernel extensions and brought their superior management tools and protocols to the platform.
The killer is that microsoft then demanded a per seat license of NT 4.0 Professional for each user, whether they were running Citrix or not. In the end, anyone deploying thin-clients uses Citrix so Microsoft succeeded in essentially foisting a huge tax on the thin-client market thwarting any inroads in might have had as a major desktop replacement. You have to buy Windows, pay Citrix, pay for seats (or TCALS, slightly less expensive per seats licenses if you arent running XP now) and ICA licenses which are still connection based. This relegated Citrix to a very important, but niche player which made them happy, and protected Microsoft's desktop monopoly.
Citrix has gone on to extend their technology with clustering and other very powerful tools, including securing the protocol very nicely. RDP has been better optimized and runs fairly well, although ICA still runs circles around it. Microsoft then added a remote admin mode to W2k, XP and W2k3 using the now venerable multi-win extensions that are now part of the core kernel code.
And now, as Paul Harvey says, you know the rest of the story.
I just checked it out and installed it on my media server (W2K Pro, only because my Terratec isn't supported and that's my main priority).
With the right settings I was able to connect to it with TightVNC 1.2.9 and play a movie fullscreen on tv without it getting shaky.
Using the dfmirage driver though slows down and prevents Classic Media Player going fullscreen while I'm connected.
It does work very fast for regular use though, but for my purpose the original way works best.
home
TightVNC is certainly the option i'd choose, i've heard from some users that UltraVNC is an impressive system but i've heard an awful lot of complaints about it too, with steady and well tested improvements, such as the driver hook, working their way into TVNC, UVNC's losing any advantage it may have once had.
Software Freedom Day!.
http://www.sra.co.jp/people/akira/os2/vnc-pm/
A native 32-bit OS/2 PM version of a VNC server has been coded by russian programmers this year (2004).
It's here: :-P
And yes, some of us still run 32-bit OS/2 with SMP, JFS, Mozilla 1.7, OpenOffice, gcc, wget, you name it. Why go multi-user if there's only one person sitting in front of each PC at a time? :P
http://eros2.by.ru/pmvnc_en.shtml So there
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