[QCLUG] "Simple" internet help-desk
Mark Riedesel
mriedesel@gmail.com
Thu, 22 May 2008 09:15:19 -0500
(I had sent this yesterday, but the list was down, so here it is again)
At the last meeting, Jim had mentioned how it's a bit of a hassle to
drive out to people's homes whenever their computer has a little
hiccup, if they have a simple question about what's on their screen,
or where to click to perform some specific task. Ya know, typical noob
stuff :-)
So I figured I'd write a quick short howto for setting up a simple
system where the remote individual can establish a connection to the
helper's computer in a "very easy" manner. I know KDE and Gnome now
have built-in remote desktop functionality, but this method is pretty
simple and provides the person requiring help to only perform a couple
clicks and is fairly idiot proof.
SUMMARIZED VERSION
helper machine
* install xtightvncviewer
* get a static IP from your ISP or set up a dynamic dns service
* forward/open TCP port 5500
* run vncviewer -listen (with optional -quality and -compresslevel arguments )
remote machine
* install x11vnc, zenity
* run x11vnc -connect HelperHostname
LENGTHY OVERLY VERBOSE VERSION
Step 1, setting up the helper computer.
On the helper computer (ie. your computer), you will need either a
static IP or some sort of dynamic DNS service such as those provided
by afraid.org or no-ip.com. For the sake of this howto, I'll describe
the steps of setting up dynamic dns with no-ip.com.
Go to www.no-ip.com, click on "No-IP Free", follow the sign-up process
and write down your account details somewhere safe. Install the no-ip
updater program which is also available as a Debian package ( apt-get
install noip2 ). The Debian package should guide you through
configuration, it's fairly painless. The purpose of this program is to
report your IP address back to no-ip.com so they can update your
domain name to always point to your IP, even if your ISP reassigns you
a new IP. If you have a static IP from your ISP, then you could have
skipped this step entirely.
If you're behind a firewall, you'll need to allow/forward TCP port
5500 to your helper computer.
Next thing is to install vncviewer ( apt-get install xtightvncviewer )
Your helper computer is now ready.
Step 2, setting up the remote "helpee" computer
Install both x11vnc and zenity packages.
Open up a text editor such as nano or vi, and copy & paste the
following two lines between the dashes into the file..
--- code begins --
#!/bin/bash
HOSTADDR=YourDynamicDNSAddress; if $(zenity --title "Share Desktop"
--question --text="Click OK to share desktop with $HOSTADDR"); then
x11vnc -connect $HOSTADDR; fi;
--- code ends --
Replace the string "YourDynamicDNSAddress" with your static IP or
dynamic DNS address (the one you set up with no-ip.com).
Save the file somewhere decent, /usr/bin/connect2help or something
equally suitable, make it executable ( chmod +x /usr/bin/connect2help
). Be sure to put it somewhere where the user can't accidentally
delete it.
Now figure out a simple method for the helpless person to run our
newly created script. Creating a desktop launcher icon which calls
/usr/bin/connect2help would probably do the trick.
Step 3, cross fingers and hope it works
On your helper computer, pop open an xterm and run vncviewer -listen
-quality 5 -compresslevel 9. You can of course change the quality and
compresslevel values, lower quality will run a bit faster over slow
connections. Once your vncviewer is running in listen mode, then the
person on the other end requiring help can click their connect2help
launcher icon and if everything works, the helper will see the
helpee's desktop appear and can guide them through performing menial
noob tasks.
Note there's a small security flaw in the whole setup, some random
malicious individual may share their desktop with you and make you
look at lolcat photos, so it may be a good idea to not leave vncviewer
-listen running unless you expect the person requiring assistance to
be connecting.
--
Mark