Note: As of November 27, 2007 this does not work with the latest version of Ubuntu (Gutsy Gibbon 7.10), however, dazwin has provided a good workaround using xvncviewer in post #66.
VNC is a great tool that can aid in training and troubleshooting, however, with many people running NAT routers (such as D-Link, Linksys, Netgear, etc.) it can be quite difficult to establish a connection.
The problem is that these types of firewalls block unsolicited inbound traffic, preventing you from establishing a connection. Many times, the person requiring assistance does not have the technical expertise to configure "port forwarding" on the router, or they do not have access to the device.
As long they can connect to the internet, they could establish a 'reverse VNC' connection to you --- allowing you to view their desktop. The only caveat is that if you are behind a NAT router or firewall, you must have configured 'port forwarding' on port 5500 to forward to your internal IP address.
How To Setup Reverse VNC
1. Make sure that you have setup any necessary port-forwarding on your router to forward TCP port 5500 to your internal IP address. You may want to consider using a static IP (or static DHCP), so that you always have the same internal IP address.
I also use a dynamic DNS service so that I can just tell people to connect to myhost.dyndns.org, rather than having to tell them my external IP address.
2. On the "remote" computer (the one that you want to control), you need to install the x11vnc package:
3. Before the remote user can "send their desktop", you need to set vncviewer to listen-mode on your computer:Code:sudo apt-get install x11vnc
4. Lastly, the remote user needs to issue the following command:Code:vncviewer -listen 0
orCode:x11vnc -connect your.external.ip.address:5500
Addendum:Code:x11vnc -connect myhost.dyndns.org:5500
For those that really want to shield the remote user from the command line, you could create a file on the desktop called "Remote_help.sh" and enter the following:
Don't forget to change the permissions to 'executable':Code:#!/bin/bash
x11vnc -connect myhost.dyndns.org:5500
Now, they just have to double-click the "Remote_Help.sh" file and select RUN.Code:chmod 755 ~/Desktop/Remote_Help.sh
If your router is configured correctly, their desktop should appear automatically.
Attached is a screenshot of my desktop showing 2 remote laptops (VNC:Tecra & VNC:Dapper) that have connected using this method.
-Dave