Please check the status of this specification in Launchpad before editing it. If it is Approved, contact the Assignee or another knowledgeable person before making changes.
Launchpad entry: none yet
Packages affected:
Summary
Using a simple gui wrapper for two VNC applications, we can effectively give and get remote desktop control (and ultimately support) easily.
VNC is cross-platform for ease of use with Windows or Mac users as well.
Rationale
We need a support tool to actually "show" someone how to do something through the internet. VNC (VirtualNetworkConnection) is a great tool that already exists that just needs a GUI wrapper to put it to use.
Use cases
Frye is having trouble with setting up Evolution to connect to his email. Leela is Frye's friend and could do this easily for Frye. Leela is so advanced that she knows how to add port forwarding to her router and forwards port 5500 (the default reverse vnc port). Frye would load his icon from the menu that says "Remote Support" which launches a gui prompting for "give support" or "get support". Leela tells Frye to type in leelasdomain.dyndns.org which connects to Leela giving her control of Frye's PC while letting Frye see what is going on as well. It's real easy to describe a dialog box when you can move the mouse over it while talking to the person.
Scope
Design
- Icon
<insert image>
- Main Window
- Tray Icon and options once connected
<insert image>
"Get Support" gives the option to specify an address in the form <ip><:port> or <domain><:port> where the port is optional and the default port is 5500. "Give Support" should start vnc listening on the specified port waiting for the other side to "Get Support".
Implementation
- Get Support
x11vnc -connect <ip>:port
- Give Support
- vncviewer -listen
- only listens on port 5500 (not critical issue, but specifying a port would be better)
- vncviewer -listen
Code
Named Gitso, built using PyGTK, a simple .py is available here.
Data preservation and migration
Unresolved issues
BoF agenda and discussion
I'm concerned about this. VNC is an insecure protocol, transferring keystrokes as clear text and screen images unencrypted. It would be better if the GUI somehow automagically tunneled the VNC session over an encrypted channel. Most people tunnel over SSH to secure the connection, but I'm not sure how this could be made transparent.
In an argument for vnc, it's can be run on Windows, Mac, Linux or whatever.
Using SSL (e.g. stunnel) to encrypt the conversation, even if no cert checking is done, would help significantly. There is probably a way to do it for SSH also, but care needs to be taken to avoid granting too much permission to the helpee. --NealMcBurnett