VNC vs. Remote Desktop

Microsoft's Remote Desktop is incredibly convenient. It's the next best thing to physically being in front of the target computer-- and it's by far the fastest remoting protocol I've ever used. Over a fast network, you can almost convince yourself that you're using the local machine. Remote desktop is great stuff, and it's basically free. It does have a few annoying limitations, though:


This is a companion discussion topic for the original blog entry at: http://www.codinghorror.com/blog/2005/07/vnc-vs-remote-desktop.html

My beef with Remote Desktop is that when you login I believe, it will log out the existing user. My users don’t know their passwords (we use auto-login, yes I know it sucks) and this was a major PITA. Plus there was really no way to get to their session to see what they were seeing at any time. I believe this is “Remote Assistance” which is basically the same thing, but different. I never quite understood the differences so I went to UltraVNC myself (after trying Tight and others).

UltraVNC is a little better than tight for a couple of reasons.

  1. File transfer built into the client. I had this with PCAnywhere and I had to get an equivalent before we could get rid of the bloatware known as PCAnywhere.
  2. UltraVNC supports Active Directory integration. I have a VNCAccess group and I add people to that at will so they can use their login and won’t have to remember something different.
  3. Session Encryption. It did not work well with the AD integration but maybe that’ll be fixed later. There was some good reason I chose not to use it but I can’t for the life of me remember it. Most likely because it was a little overkill for all of our private addresses behind a NAT firewall but would be perfect for a publically accessable PC.

I will agree that the multiple monitor thing really stinks but no one in my office (including me) used multiple monitors. It doesn’t make too much sense from a computer standpoint though because you should be able to access any program on the computer regardless of monitor. A program in the taskbar shouldn’t be tied to one specific monitor and should be able to be manipulated regardless of how VNC or Remote Desktop accesses it.

I probably don’t understand the problem enough to get why it’s an issue. In my mind it shouldn’t be, but there’s probably some lame technical implementation that is getting in the way of my utopian vision.

I think this only works under Win2k/2k3 Server, and only under specific conditions…

It only works on Win2k3… I don’t think it will work on Win2k.

It only works on Win2k3… I don’t think it will work on Win2k.

You are right it will not work with Win2k as Remote desktop was first introduced with XP PRO+ (home addition does not support it). However you can download the client and run on Win2k.

UltraVNC also my choice for non XP Pro +…

There is also UltraVNC with supports screen scaling and file transfers (TightVNC has added file transfers in the dev version too). Only thing is that UltraVNC doesn’t have a Linux server version. Also, be wary of the hook driver. Starting with XP SP2 we started getting blue screens with the IRQ NOT LESS THAN OR EQUAL TO until it was removed. Not on every machine, but enough that we stopped installing the hook driver on client machines. Actually, now that I think about it, I think it was mostly on TabletPCs. Your mileage may vary.

“Note that a few key sequences, such as CTRL+ALT+DEL, can’t be intercepted by any remote desktop client, even in fullscreen mode.”

Using Remote Desktop Client, you can send these combinations to the remote machine. When making a connection, check the tab “Local Resources”, and set the keyboard to “On the remote computer”.

You are right it will not work with Win2k as Remote desktop was first introduced with XP PRO+

I think there might be a bit of confusion here, we were talking about Win2k Server not Win2k Pro. It’s called “Terminal Services” in Windows 2000 Server, and you can definitely connect to it using the Windows XP Remote Desktop client…

SC UltraVNC is also incredibly useful. It’s a packed EXE version of UltraVNC server that does a reverse connection to a listener without having to be installed. Why? Because I distribute it to all my customers, and they are a double-click away from connecting back to me at the office for remote tech support. It’s small, light and fast enough even without the video hook driver. You can build your own at: http://sc.uvnc.com/index.php?section=12.

It is a little misleading to say that tightVNC (or by association RealVNC, UltraVNC and others) are not secure. At the very least there is always a username password verification that is required for a VNC connection. There is also ways to set up a SSL tunnel scenario with VNC.

Also I use UltraVNC almost every day and have no problem VNCing into a system with multiple monitors.

And due to the nature of Ctrl-Alt-Delete there is always going to be some alternate method for sending that key combination to a remote system. UltraVNC (and all the other VNCs that I have messed with) have ways of sending this key combination to the remote host.

Anywhat, I use both Remote Desktop and UltraVNC and if you can’t tell I prefer UltraVNC.

The latest (or near-latest) version of UltraVNC handles multiple monitors, too. I’ve had no problems seeing all of a triple-headed setup remotely. (with scrolling, of course)

“it insists on treating every remote login as a seperate user session”

Using the “/console” command line argument will start your existing console session if it is running else it will start a new session

Actually, now that I think about it, I think it was mostly on TabletPCs

The video hook driver has worked OK for me on about a dozen machines, but none of them were tablet PCs.

Also I use UltraVNC almost every day and have no problem VNCing into a system with multiple monitors.

Right, it works, but you only see the primary monitor.

The latest (or near-latest) version of UltraVNC handles multiple monitors
SC UltraVNC is also incredibly useful. It’s a packed EXE version of UltraVNC server that does a reverse connection to a listener without having to be installed.

Cool, I’ll have to check out UltraVNC!

Using the “/console” command line argument will start your existing console session if it is running else it will start a new session

I think this only works under Win2k/2k3 Server, and only under specific conditions…

http://support.microsoft.com/default.aspx?scid=kb;en-us;278845

Ah! yes you are so right :)…

“…it insists on treating every remote login as a seperate user session.”

separate ! not seperate.

Sorry.

UltraVNC is actually quite secure. It has an encryption plug-in that VNCScan (http://www.vncscan.com) can easily deploy and use. Without VNCScan, the encryption plug-in can be troublesome to deploy but it’s only a $40 license to be able to use VNCScan to manage your whole network. There is no per-computer charge like the other solutions.

In addition, UltraVNC has built in Microsoft authentication that works with domains AND with local computer accounts.

Also, it should be noted that once UltraVNC is deployed with the encryption enabled, the tunnel starts before the password is sent so there is no chance for a man in the middle to intercept your VNC password.

If you want to deploy a secure and full featured VNC solution on your network and don’t want to shell out the $$$$$ for the enterprise version of VNC, You need to take a serious look at VNCScan.

on remote desktop, CTRL+ALT+END works as if you’ve pressed CTRL+ALT+DEL.

The latest (or near-latest) version of UltraVNC handles multiple monitors, too
UltraVNC is a little better than tight for a couple of reasons

You guys were sooo right. UltraVNC TightVNC.

I had some technical issues switching between Remote Desktop and TightVNC, as in, one broke the other! UltraVNC has no such problems and adds some nice ameneties to boot.

UltraVNC it is, then!

  1. Open Registry Editor (Start, Run, regedit).
  2. Navigate to
    HKEY_LOCAL_MACHINE\System\CurrentCo
    ntrolSet\Control\TerminalServer\Lic
    ensing Core.
  3. Create a new REG_DWORD value named EnableConcurrentSessions.
  4. Set the value to 1.
  5. Exit the editor.

You’ll then have support for two concurrent RDP sessions.

Wow, that single-click reverse (eg, client connects to you) UltraVNC is very cool:

http://ultravnc.sourceforge.net/addons/singleclick.html

Basically, you can customize it and distribute the tiny 166kb exe to any of your customers that are having problems. It’s like a much, much easier version of Remote Assistance.