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:
Point #1 is in stark contrast to "old school" remoting programs such as pcAnywhere and Carbon Copy, which simply displayed whatever happened to be on the client's screen-- sort of like virtual video adapters. Sometimes, this is what you want. And in those situations, you want TightVNC. VNC follows the older model of simply showing whatever is on the screen with no forced logins required. Of course, this has security implications; if you remote into a machine that an Administrator is logged into, you'll effectively be an Administrator. And if you're both trying to use the computer at the same time, it's even more fun!
VNC has been around for years in various incarnations; what makes TightVNC so useful is that it's free, natch, but more importantly, it implements a video hook driver. One of the long-running historical weaknesses of the VNC protocol was that it didn't interface at the video driver level with Windows; it had to poll for screen changes. This works, and it's a very cross-platform approach, but it's also hellaciously inefficient and highly CPU intensive. Why poll for changes when the video driver can tell you what the changes were? When you download TightVNC, be sure to download the "developmental" version (at the time of writing, 1.3d7) and the dfrimage.zip video hook driver.
Even with this hook driver, it isn't as fast as Remote Desktop, but it's at least in the ballpark. If you ever used VNC in the past and were disappointed with how slow and CPU intensive it was, you should try again with TightVNC and the video hook driver. There's a world of difference.
If you're feeling really adventurous, there's even an open-source C# VNC client. TightVNC implements a few specially optimized protocols of its own, but it does support the "classic" VNC protocols as well. I was able to remote into a TightVNC server using this C# client.
Unfortunately, neither Remote Desktop nor VNC does a good job of handling multiple monitors on the target machine, so that's a wash. You'll get the primary monitor, and you'll like it. There is some support for multimon in the latest versions of pcAnywhere, as this review at RealTimeSoft points out.
Note that a few key sequences, such as CTRL+ALT+DEL, can't be intercepted by any remote desktop client, even in fullscreen mode. There's a handy list of keyboard shortcuts for the Remote Desktop key equivalents in the online XP resource kit.
Incidentally, there are hardware-level remote desktop solutions which are capable of remotely displaying BIOS setup screens-- even the Blue Screen o' Death! Pretty gnarly stuff.
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.
Ryan McGinty on July 12, 2005 6:18 AM"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".
Remco on July 12, 2005 6:23 AMSC 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.
DavidF on July 12, 2005 8:55 AMIt 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.
Kurt Frank on July 12, 2005 9:01 AMThe 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)
Bryan Bates on July 12, 2005 9:11 AM"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
Dax on July 12, 2005 9:22 AM> 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!
Jeff Atwood on July 12, 2005 11:34 AM> 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
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.
Jeremy Brayton on July 12, 2005 2:19 PM> 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.
mbg on July 12, 2005 2:54 PM>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 +...
dax on July 12, 2005 6:06 PM> 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..
Jeff Atwood on July 12, 2005 6:45 PMAh! yes you are so right :)...
Dax on July 13, 2005 10:22 AM"...it insists on treating every remote login as a seperate user session."
separate ! not seperate.
Sorry.
Gary on July 13, 2005 11:31 AMon remote desktop, CTRL+ALT+END works as if you've pressed CTRL+ALT+DEL.
abc on August 16, 2005 12:29 PMUltraVNC 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.
Steve on August 16, 2005 8:10 PM> 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!
Jeff Atwood on August 23, 2005 1:26 AM1. 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.
Jeff Atwood on September 15, 2005 6:40 PMI cannot invoke a product application on a sytem when connected through RDC but able to invoke application when connected through VNC. The error i am getting is "could not get proper license file in <the path is given>" .When check the path given in message on the connected sytem the lic file is present.
If i connect through VNC and invoke the application it is working fine.
Why is it happening so?
Shanti on October 21, 2005 5:22 AMWhat about single user PC's where the single user chooses not to have a password because they can't be bothered with the Welcome screen every time they reboot? How can this type of user use Remote Desktop, given that RD seems to require a User Account with password?
Single User PC's? on November 23, 2005 10:36 AMI work with Ultra@VNC several times a day and with Remote Desktop a couple times a week. Out of the two, all things considered, I prefer Ultra@VNC. One of the things that I think makes VNC better (especially for technical support) is the ability for both the local and remote users to view the same screen and share the mouse, it makes explaining things a lot easier and makes fixing problems a lot faster. There are several options though: VNC (Real, Tight, Ultra, etc.), Remote Desktop, GoToMyPC, Terminal Services, Citrix... to name a few.
Tech Support on January 5, 2006 5:31 PMAs I understand, with UltraVNC both people (i.e. server and client) can see the same desktop... like pcAnywhere. What about Windows RDC? I have read that the session is not displayed on the server monitor. Is there an option to enable the person on the server side to observe what's happening? I am deciding what solution to use. Maybe Window's Remote Assitance is what I'm looking for. Does anyone care to comment and compare. Thanks.
AeroEd on January 21, 2006 8:40 AM"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"
Remote Assistance will allow you to "shadow" the existing session. This means that the current user is not logged out.
By default W2K TSE and 2003 Server both allow two concurrent connections in what they call administrator mode. This allows the IT department to manange the servers without having to go to the server room for everything little thing.
With both versions, you can install a license pack and have as many users connect to the server as you like (make sure you have enough memory). Then an administrator can start his (her) own session and run a TSEADmin execuatble that will list all the currently logged in users and allow you to shadow them.
The system can be configured that the user must accept the shadow request, or allow connection without them knowing. When you connect, their screen will have one quick flicker and that is it.
At work we deploy our product in a TSE environment and it works great. You can have a very low end client running the remote desktop program connecting to the server to run their app. Support can make their own connection and assist any user they want by shadowing the session.
The shadow feature is also great for remote training.
Mutliple RDP connections on March 29, 2006 10:19 AMI'm a big fan of remote desktop protocol and thought it was a great plus when I learned xp pro would have it. I've been using it since it first rolled out with the 2000 server. I use it admin all my servers and even my customer's servers where applicable.
Remote Support Software on June 26, 2006 4:00 PMThe steps at http://sig9.com/articles/concurrent-remote-desktop explain how to set up Windows Xp to allow up to three concurrent logins at once. Appears to work OK ona Windows XP PC with all updates.
Michael Kean on October 25, 2006 3:03 AMI have remote users that need to have support by multiple technicians. The client clicks on the application created by WinVNC to connect to the UltraVNC server listening on port 5900.
Once the viewer is executed, I have setup my windows 2003 server to listen to port 5900. The connection is then established. However, I would like to add a few more techicians to the server to allow multiple connections to the vnc server on separate terminal sessions. Is there a way that you know of in order to redirect the VNC Server to the RDP sessions to a specific Terminal Service session.
Please advise.
Thank you for your time.
Ryan Deschaine
RCS Technical Support
I've no comment but have a question.
Is there any VNC Server built in C #
There are other apps that can be use
www.gensortium.com Gencontrol works really well for me.
Chris on December 11, 2006 11:28 PMI need to display a single main desktop to multiple remote viewers (around 10 remote parties). (The scenario is a user wanting to share images to multiple remote specialists to seek advice and support). There is no need for remote the viewers to control the machine being viewed.
Can anyone suggest how this might be done. Sounds like neither remote desktop nor vnc are good for this?
jlo on March 10, 2007 3:42 AMI wouls also be interested in a VNC server in C# or VB.NET
Chris Ringrow on March 14, 2007 4:30 AMI did a VPN connection to a remote machine (much slower than LAN), then used MS Remote Desktop and Tight VNC (development version with mirage mirror driver). For my surprise Tight VNC showed better responsiveness than MS Remote desktop. but on LAN Remote Desktop is faster.
Angel G. on March 16, 2007 2:38 AMI'm pretty new to using remote desktop, however I've found it really useful for using my office computer using my laptop at home.
Regarding using multiple screens, I have two screens on my office PC and obviously only one on the laptop and I didn't have any problems working at home. In fact the way it displays everything on the one screen and still remembers the location of the windows and files when I came back to the office was handled far better than I thought.
Neil on July 25, 2007 9:01 AMTo Answer jlo's questions, you can not use VNC or RDP to share with 10 users but a good product is Goto Meeting which does exactly that. It does however cost a monthly subscrip fee.
Has anyone found a version of VNC in C# or VB? Would anyone be interested in teaming up to develop one?
Adam on July 31, 2007 8:42 AMAnyone want multiple RDP sessions on 1 (yes, thats one) XP Pro box!
(I've had this working & gave up creating new sessions after * concurrent sessions ;-) )
http://sig9.com/articles/concurrent-remote-desktop
portuguesedanny on July 31, 2007 11:47 AMIn answer to the questions about VNC and C# or VB...I found a solution. There is a company called SmartCode Solutions that has a VNC Server and Client ActiveX control. The website is:
Adam on July 31, 2007 2:39 PMWe've found the easiest tool for remote computer access:
Techinline Remote Desktop
http://www.techinline.com
Our support team has been using it for a year and have no any complaints about it. It's really amazing.
Robert on August 19, 2007 12:44 AMCreate a shortcut with this path:
hcp://CN=Microsoft%20Corporation,L=Redmond,S=Washington,C=US/Remote%20Assistance/Escalation/Unsolicited/Unsolicitedrcui.htm
Run it and the user will be prompted to allow an administrator to connect to their session. From there you can remote control the users XP machine and still have them see what you are doing. Works using remote assistance, but allows the administrator to initiate the connection rather than waiting for the user to request assistance.
I think it may require some changes in group policy in a non SBS environment but with an SBS domain it will work by default.
SB on October 22, 2007 8:42 PMThere's a way to increase the maximum number of connections to a Terminal Server, running on Windows XP Professional.
Restart your computer in Safe Mode (Press F8 several times after the BIOS screen disappears. And select Safe Mode)
Turn off/disable Remote Desktop Connection (RDC) and Terminal Services:
- Right click My Computer
- Select Properties
- Click on the Remote tab at the top of the window
- UNCHECK the box next to, “Allow users to connect remotely to this computer“
- Click OK
- Go to Start -> Control Panel -> Administrative Tools -> Services
- Find Terminal Services in the list
- Right click on Terminal Services and click Properties
- In the Startup Type box, select Disabled
- Click OK to close the window
Now download this file:
http://members.lycos.nl/nessyh/files/termsrv.dll
- Go to C:\Windows\system32\dllcache
- Rename the file termsrv.dll to termsrv_dll.bak or whatever you would like.
- Copy the downloaded termsrv.dll file (the one you downloaded from the link) to C:\Windows\system32\dllcache
- Open the C:\Windows\system32 folder
- Delete the file termsrv.dll in C:\Windows\system32
- Copy the downloaded termsrv.dll file to this place too.
At last, we've to change some settings
- Go to Start -> Run and type regedit
- Go to HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Terminal Server\Licensing Core
- Add a DWORD Key (Right click in a empty space to the right) named EnableConcurrentSessions and give it a value of 1
- Close the Registry Editor window
- Go to Start -> Run and type gpedit.msc to run the Group Policy Editor
- Browse to Computer Configuration -> Administrative Templates -> Windows Components -> Terminal Services and double click Limit number of connections
Select the Enabled button and enter the number 3, which changes the maximum rate of simultaneous connections to 3 (Higher isn' possible)
- Restart Windows
- Right click My Computer and select Properties.
- Click on the Remote tab at the top of the window
- CHECK the box next to, “Allow users to connect remotely to this computer“
- Click OK
- Go to Start -> Control Panel ->Administrative Tools -> Services. Select Terminal Services from the list and double click it or right-click -> Properties. Set the Startup Type to Manual.
- Restart Windows/Computer
If you want to get multiple users, there's a hack available for XP SP2 (and probably SP3): http://sig9.com/articles/concurrent-remote-desktop
david on June 3, 2008 9:51 AMjust want tolist the number of users logged on to a particular server
bincy babu on June 8, 2008 9:34 PMIn my opinion, one of the best tools on the market these days is Techinline Remote Desktop. The beautiful thing about it is the absence of any installation since it runs through the web browser. You could also fully customize it, and it's as simple as it gets for the remote client to use. I've also read on their site that they're planning a major upgrade for this fall, and at that time will be adding a file transfer and some other features. But for now it's as good as it gets for $30 a month, and gets the job done. www.techinline.com Is anybody else using it?
Jamie Buchanan on July 1, 2008 7:36 AMIf your like to make RDP/VNC work over internet using microsoft windows teredo service(peer to peer connectivity) you can check this soft http://www.lanoninternet.com
Now you can RDP/vnc work behind NAT/firewall..Virtually u can connect with any vista/XP PC with this service
Any comments on NoMachine? http://www.nomachine.com/ The last I heard their network useage was lower than RDP, but I have never tried it myself.
Jeremy on October 20, 2008 5:04 AMI used RealVNC for awhile on my dual monitor XP Pro box, it worked great, just gave me a scroll bar and displayed the desktop as one really wide area. Unfortunately I don't think their viewer encrypts the initial key exchange unless you pay extra, so I just switched over to TightVNC.
andy on December 9, 2008 1:10 PMVNC is the last port of call, not the first. Its performance is pitiful in comparison with RDP.
Jarmo on February 20, 2009 6:38 AMgreat explanation thanks..i never knew this much before..thank you once again
Sachin on February 23, 2009 3:48 AMIf you want a simple utility tool have a look at Veo Remote, it's almost as fast as RDP on a LAN and heaps faster than VNC. It's not really designed as a remote admin tool though.
paul on March 26, 2009 8:44 PMI wanted to add one more program to the discussion that probably won't get mentioned otherwise. Proxy Networks came out with a <a href="http://www.proxynetworks.com">remote control software</a> bundle called Proxy Prop 6. I like this particularly as a business user because it has very strict security standards. Also, they have a ton of usable options, such as viewing a list of hardware that is on the computer. This makes troubleshooting much faster. What do you guys think? Does anyone else have any experience with this or any other enterprise-level remote desktop applications?
Alan on April 14, 2009 11:42 AMI wanted to add one more program to the discussion that probably won't get mentioned otherwise. Proxy Networks came out with a remote control software bundle called Proxy Prop 6. I like this particularly as a business user because it has very strict security standards. Also, they have a ton of usable options, such as viewing a list of hardware that is on the computer. This makes troubleshooting much faster. What do you guys think? Does anyone else have any experience with this or any other enterprise-level remote desktop applications?
Remote Control Software on April 14, 2009 11:45 AM| Content (c) 2009 Jeff Atwood. Logo image used with permission of the author. (c) 1993 Steven C. McConnell. All Rights Reserved. |