Fog Creek Software
Discussion Board




Tech support using VNC

We recently had an issue with a customer where Remote Assistance would have been useful.  The problem was, that he was inside his network with a 192.168.*.*, and so the remote assistance request could not be routed correctly.  Setting up port forwarding was not an option.

What I wish I had was a VNC server that was self-contained (single exe), needed no install, and when the customer started it, *it* would initiate the session with a viewer on my end, so I wouldn't have to worry about NAT or anything.

I downloaded the source to RealVNC, but I'm not looking forward to modifying their code.  Anyone know of anything like that?

Walt
Monday, July 12, 2004

I know of something like this, because I wrote one.  Unfortunately, it was for a fallen .com company and I don't have the source nor the rights to it.  It's seriously useful, but it was also somewhat of a PITA to implement.  It's definitely do-able though.  If you get it working, make sure to advertise it widely.  I'd love to use it again :)

Mark Zuber
Monday, July 12, 2004

VNC has support for reverse connections, via the -connect option of the vncconfig program (http://www.realvnc.com/v4/man/vncconfig.html) and the -listen option of the viewer (http://www.realvnc.com/v4/man/vncviewer.html).  The links given are for the Unix cli programs, but it exists on the Windows version, too--the man page is just better documentation.  Combine this with some scripting to get the server to connect (on the PC you wish to control), and probably add some on-the-fly tweaking of the access list on said server machine, and run your own client in -listen mode, and you're golden.

Rich
Monday, July 12, 2004

If this is on Windows, you could use MSN Messenger. Once you establish a connection, if you go to Application Sharing it will handle the routing and give you control.

I've never done this with a customer myself, but I've heard of other companies doing it.

  --Josh

JWA
Monday, July 12, 2004

Josh,

I did try that, but his ISP blocked port 3389 from external IPs, so it wouldn't work.  The only way to establish a connection was if he did the initial push.  Thanks for posting.

Those options for RealVNC look like they'd be the trick.  I'll look at those more.

Walt
Monday, July 12, 2004

Have you tried using Webex?

MilesArcher
Monday, July 12, 2004

Walt,

I don't know if was a full article or discussions in the forum here, but Joel spent some time talking about this a year ago or so. Thinking about it, I'm fairly certain that he initated a discussion here on the board. They even offer setting up FogBugz through some sort of connection like this as a standard feature, so they must have figured out something suitable.

I'll be interested to see what you go with, I should start thinking about this sort of thing myself.

  --Josh

JWA
Monday, July 12, 2004

But WebEx is only a viewer, right? Walt want's contorl of their machine.

JWA
Monday, July 12, 2004

If the platform is windows, why bother with vnc (which is very slow in windows) when you could use netmeeting?  Just have them do start->run->conf.exe, as long as there are some open ports it should work fine.

Suppafly
Monday, July 12, 2004

For what it's worth, WebEx will let you control applications/the desktop remotely.  There's obviously many ways to skin this cat. :)

Rich
Monday, July 12, 2004

I do a fair amount of remote support using TightVNC, and I've just set up my DSL router to forward both of the ports that VNC uses (incoming viewer or incoming server).  It's easy enough to walk people through the download and install over the phone, and then I just tell them to launch the server and add my IP address as a client.  (The Windows install even gives me a shortcut to launch the viewer in 'listen' mode, so it's pretty simple.)

This doesn't work if they're behind a firewall that blocks the relevant port, in which case running something over HTTP like Webex (or other equivalent services) might be your only option.

Sam Livingston-Gray
Monday, July 12, 2004

And...all windows boxes ship with remote desktop support built in....right?

So, unless you are supporting old computers..why bother with VNC, when you don't have to install anything?

And, windows remote desktop is based on RDP, and that is the same as terminal services client.

The remote client on windows runs such absolute circles around something like VNC/tight vnc, as to it not even being worth your time to consider vnc.

Both VNC, and tight vnc have a TON OF problems with re-plotting the screen, and are much slower anyway. Again, again remote desktop is a zillion times better.

Why try and rub a few sticks to make heat when you a super nuclear reactor that works a zilling times better and IS BUILT IN AND REOTES NO DOWNLOAD or install?

Did I missing something here?


Albert D. Kallal
Edmonton, Alberta Canada
kallal@msn.com
http://www.attcanada.net/~kallal.msn

Albert D. Kallal
Monday, July 12, 2004

I'm surprised no one has mentioned GoToMyPC.com. AFAIK (read about it; never used it) it runs a system-sharing service that phones home every 5 seconds or so. If you fire up another computer and ask to look at your own, your home system will hear about it next time it phones home and let you in. Since it initiates the connection, there are no firewall issues (supposedly.) It's also a pay-for service.

In any other case (VNC, Timbuktu PCAnywhere, NetMeeting, I would assume RemoteDesktop, etc.) you're stuck in Port Forwarding land. Best you can do is make a PDF with general port-forwarding info (and screenshots of Linksys routers) and a link to VNC on it.

By the way, Apple uses VNC as for screensharing in Remote Desktop 2. Not only is it used for apple-to-apple sharing, you basically have VNC built into RD2 so you can use it as a viewer for any Mac, Linus, etc. client that's running VNC server.

And I can't believe how unoriginal both companies are--MS and Apple both call their remote desktop app "Remote Desktop." Real clever, guys. :-)

null fame
Monday, July 12, 2004

Forgot about WebEx. WebEx is also a paid-for-server based thingie that (more or less) works just fine behind firewalls. Sucks ass on Macs, though.

Long story short: use a paid-for, server-based service, and hope the hosting company never goes under, or use some bought-and-paid-for client-side software and get port forwarding to work.

null fame
Monday, July 12, 2004

Albert: You're missing a lot. Win 2K does NOT have remote desktop functionality; Neither does Win98. Some of us have to support these systems as well.

You can install terminal services on Win2K server - but I'm not aware of any way to provide remote desktop over a non-server Win2K install.

And even on XP, the built in 'remote desktop' works _horribly_ if you want to share the desktop -- you need to send out an invitation, and it's a hell of a lot less convinient than RDP or VNC.

Also, try UltraVNC [ http://ultravnc.sourceforge.net ] - it uses a video driver so it basically knows what needs repainting without having to scan the screen. It's very fast, and works very well.

I'm also surprised no one mentioned DameWare Remote Control - it's a bit slow compared to RDP / VNC, but it has a reputation for being rock solid.

Ori Berger
Tuesday, July 13, 2004

Ori: Windows XP has true rdp.

It is offered as 'Remote Assistance' and 'Remote Desktop'.  Tick the appropriate box in My Computer Properties.

Andrew
Tuesday, July 13, 2004

Andrew: I was referring to the "remote assistance" feature -- standard RDP works perfectly well, but does not let you share the desktop. When I last tried it, it looked useful for some assistance, but totally inadequate for two peers working on the same machine, alternating between 'driver' and 'viewer'.

People, if you have bad experience with a VNC which isn't a recent UltraVNC, give Ultra another try. It has come a long, long way.

Ori Berger
Tuesday, July 13, 2004

*  Recent Topics

*  Fog Creek Home