Shared Desktop

Access Grid Shared Desktop v0.2.3

The SharedDesktop Access Grid shared application listens for other SharedDesktop users to share their desktop via VNC - then offers them to the user. It also allows the user to share their own desktop to the other connected sites.

Shared Desktop ScreenShot
Here's a screenshot of SharedDesktop in action - showing a Windows, Linux and Mac OSX computer all sharing desktops together.

It was designed to allow for simple desktop sharing of PDF's, powerpoints, spreadsheets and documents, etc. I've also found that it is extremely useful for helping others tweak/troubleshoot their AG nodes.

CHANGES IN v.02.3

  • Fixed regression bug introduced in v.02.2

CHANGES IN v.02.2

  • Fixed agversion issues
  • Dropped support for AG2.x, made it AG3.x specific - For support of AG2.x, please use version 0.2.1 or earlier
  • Added Help menu item

CHANGES IN v.02.1

  • Fixed broken twisted import line
  • Added GPLv3
  • Fixed links in documentation

CHANGES IN v.02

  • Added support for AGTk3
  • Added ability to change listening ports
  • Added ability to allow control to remote viewers
  • Added support for x11vnc for linux vncserver and infrastructure to add others

 

Downloads

Requirements

  • Windows Client:
    RealVNC version 4.x (Tested using VNC Viewer 4.1.2 For Windows)
    Must have vncviewer.exe in path or in 'c:\program files\realvnc\vnc4'
  • Windows Server:
    RealVNC version 4.x (Tested using VNC Server 4.1.2 For Windows)
    Must have winvnc4.exe in path or located
    in 'c:\program files\realvnc\vnc4'
  • Linux Client:
    RealVNC version 4.x (Tested using vnc-4.1.2)
    Must have vncviewer binary in path or located in /usr/bin or in ~/bin
  • Linux Server:
    x11vnc (http://freshmeat.net/projects/x11vnc/) (tested with v0.8.2)
    OR
    RealVNC (x0vncserver).
    Must have x11vnc and/or x0vncserver binary in path or located
    either on your path, in /usr/bin, or in ~/bin.
    x11vnc is recommended - it is really _MUCH_ better performance than x0vncserver
  • Mac OSX Client:
    Chicken of the VNC (Tested using version 2.0b4)
    http://sourceforge.net/projects/cotvnc/
    Must have 'Chicken of the VNC' binary in path or in
    '/Applications/Chicken of the VNC.app/Contents/MacOS'
  • Mac OSX Server:
    OSXvnc (from http://www.redstonesoftware.com/vnc.html)
    Tested with v1.71
    Must have 'OSXvnc-server' in path or located
    in '/Applications/OSXvnc.app'

Installation

General

Shared Applications can be installed by the typical AccessGrid Shared Applications installation method:

  • Copy the appropriate .agpkg to the venue data store (.agpkg for AGTk2.x and .agpkg3 for AGTk3.x)
  • Double click (or right click and choose 'Open') the newly uploaded files
The Shared Application should be installed.

 

Upgrading Note: Regular installation will overwrite previous versions of the SharedDesktop shared application. No additional steps beyond the regular installation instructions are required for an upgrade installation.

If you would rather install/upgrade your installation manually - or you are having issues with the automatic installation method, follow the platform specific installation instructions below.

Windows

  • Ensure you have the proper prerequisites listed in the REQUIREMENTS section above.
  • Make sure vncviewer.exe (and winvnc4.exe if you will be sharing your local desktop) are either installed in c:program files\realvnc\vnc4 (the default installation directory) or are located on your path.
  • Download SharedDesktop-v02 by clicking the appropriate link above
  • AGTk2 ONLY

    Install the SharedDesktop-v02.agpkg by issuing the following at a Command Prompt:
    agpm.py -p \path\to\SharedDesktop-v02.agpkg
  • AGTk3 ONLY

    Install the SharedDesktop-v02.agpkg by issuing the following at a Command Prompt:
    agpm3.py -p \path\to\SharedDesktop-v02.agpkg3

Linux:

  • Ensure you have the proper prerequisites listed in the REQUIREMENTS section above.
  • Make sure vncviewer (and x11vnc or x0vncserver if you will be sharing your local desktop) are either installed in /usr/bin (the default installation directory), ~/bin, or are located on your path.
  • Download SharedDesktop-v02 by clicking the appropriate link above
  • AGTk2 ONLY

    Install the SharedDesktop-v02.agpkg by issuing the following at a prompt:
    agpm24 -p /path/to/SharedDesktop-v02.agpkg
  • AGTk3 ONLY

    Install the SharedDesktop-v02.agpkg by issuing the following at a prompt:
    agpm -p /path/to/SharedDesktop-v02.agpkg3

Mac OSX:

  • Ensure you have the proper prerequisites listed in the REQUIREMENTS section above.
  • For viewing, make sure 'Chicken of the VNC' binary is located on your path or that the application is installed in the /Applications directory
  • For serving, make sure OSXvnc is located on your path or that the application is installed in the /Applications directory
  • IF YOU WOULD LIKE TO SET YOUR PATH ON MACOSX you need to create a file in your home directory called ~/.MacOSX/environment.plist with a properly formatted XML entry of PATH and path/to/whatever:Path/To/wherever

    ** Note: I needed to add the paths /bin:/sbin:/usr/bin:/usr/sbin plus the paths to the VNC client and server binaries to my environment.plist file path to successfully start AG.

    Also note - once this variable is set, you need to logout and re-login.
    See http://hacks.oreilly.com/pub/h/1078 for more information.
  • Download SharedDesktop-v02 by clicking the appropriate link above
  • AGTk2 ONLY

    Start a shell and set up your environment by sourcing the setupenv.sh script like:
  • AGTk2 ONLY

    Start a shell, set up your environment by sourcing the setupenv.sh, and install the SharedDesktop-v02.agpkg by issuing the following at the prompt:

    . /Applications/AccessGridToolkit.app/Contents/Resources/setupenv.sh

    pythonw /Applications/AccessGridToolkit.app/Contents/Resources/bin/agpm.py -p /path/to/SharedDesktop-v02.agpkg
    **NOTE it is VITAL to run pythonw (not python) or the registered startup path for the shared application will be incorrect
  • AGTk3 ONLY

    Start a shell, set up your environment by sourcing the setupenv.sh, and install the SharedDesktop-v02.agpkg by issuing the following at the prompt:

    . /Applications/AccessGridToolkit3.app/Contents/Resources/setupenv.sh

    pythonw /Applications/AccessGridToolkit3.app/Contents/Resources/bin/agpm.py -p /path/to/SharedDesktop-v02.agpkg3
    **NOTE it is VITAL to run pythonw (not python) or the registered startup path for the shared application will be incorrect

Usage

  • While in a venue, right click Shared Applications and choose 'Add Shared Desktop'
  • Right click the newly created Shared Desktop shared application and choose Open. A gui should appear offering to share your own desktop and listing other available desktops to connect to.
  • You will need to open a port on your firewall to allow connection. The default listening port for the vncserver is 9010.

Security

This is vnc... it is inherently INSECURE. Don't use it. Especially since the traffic is completely unencrypted. Passwords are generated automatically when a server is created - so restarting your server will reset the password.

Known Bugs:

 

  • If you change venues while running a server, the client and/or server will NOT shut down. The venue data associated with the Shared Desktop also becomes unreliable.
  • If you manually shut down the vncclient window, the shareddesktop gui will not update by unchecking the appropriate checkbox.

 

To report bugs, please email toddz at sfu dot ca

Future Plans:

Things I'd like to add in future releases:

  • Secure Tunnel of all traffic
  • Ability to change geometry, depth etc.
  • Ability to only share sections of large multidesktops
  • Add support for other vnc servers/clientss

 

Research Team

This software was developed by Todd Zimmerman of Simon Fraser University for WestGrid and as part of the Advanced Collaborative Environments (ACE) project.

Special thanks to the WestGrid AG-Tech team, Andrew Patrick and the ACE team, and Brian Corrie for helping me out with debugging this program. Also, thanks to the Argonne folks including the person that originally coded the venueVNC software (Tom I believe??) which served as a basis for this program.

More Information

For more information, to report bugs, or to suggest enhancements - please contact:

Todd Zimmerman
Collaboration and Visualization Tech
WestGrid/IRMACS

IRMACS - Room 10905, Applied Sciences Building
Simon Fraser University
8888 University Drive
Burnaby, B.C., Canada.
V5A 1S6

Email: toddz at sfu dot ca