gears How it works

question Introduction

Without the open source projects listed below, Window Switch would not exist.
They provide all the infrastructure needed for it to function, this software is only the glue that ties it all together.

directory Protocols

Window Switch supports many different protocols for accessing remote applications and desktops:
  • nx NX: which is very efficient over slow links
  • vnc VNC: for simple full-desktop access using the robust VNC standard
  • xpra xpra: "screen for X", a fairly new option
  • ssh ssh: SSH display forwarding
  • rdp rdp: Microsoft's option
  • gstreamer GStreamer: read-only screencasting
To understand the differences between all these protocols, see this comparison.
Sound forwarding is documented here.
There is also partial support for screen and libvirt sessions.

The application automatically discovers which protocols are available when connecting to a server

connect Networking

The network code relies on the Twisted event driven network library.
The simple line protocol used is documented here.

If available, the software will make use of ZeroConf to automatically discover computers on local networks. More information here.

You may also add servers manually through the configuration dialogs, distant servers can be tunnelled using ssh for security (and also to pass through firewalls).

mouse User Interface

The user interface is based on the PyGTK graphical user interface toolkit, with some platform specific extensions for providing better integration with individual operating systems.

sound support Sound Forwarding

Sound forwarding is provided by GStreamer plugins, see here for details.
(This feature is currently not available on MS Windows, see here for details)

printer support Printer Forwarding

Access to remote printers uses cups and SSH tunnels to make local printers accessible to remote sessions.

(the printing option is currently disabled by default, but it should be re-instated soon)

microsoft windows Microsoft Windows

Windows lacks a number of tools which come as standard on other platforms, to workaround this issue we include:

  • PuTTY as an alternative to openssh
  • Xming to provide a transparent X server to display on

packages Alternatives

There are many other solutions for remote desktop infrastructure, if this software does not suit you maybe one of these will:

  • Aside from the free and open-source NX protocol, nomachine.com also sells a proprietary NX server
  • FreeNX: a free implementation of NoMachine's NX server
  • neatx: google's version of an NX server
  • x2go: is another alternative server implementation
You can find a more complete list, although a little bit out of date, at Wikipedia's comparison of remote desktop software.
This more recent review compares different remote access tools, although the ratings seem slightly biased.