xpra icon
up-to-date fork

gears About

Xpra is 'screen for X': it allows you to run X programs, usually on a remote host, direct their display to your local machine, and then to disconnect from these programs and reconnect from the same or another machine, without losing any state. It gives you remote access to individual applications.
Xpra is "rootless" or "seamless": programs you run under it show up on your desktop as regular programs, managed by your regular window manager.
Sessions can be accessed over SSH, or password protected over plain TCP sockets.
Xpra is usable over reasonably slow links and does its best to adapt to changing network bandwidth limits. (see also adaptive JPEG mode)
Xpra is open-source (GPLv2+), multi-platform and multi-language, with current clients written in Python and Java.

features Enhancements

This fork adds the following enhancements over the original version:
  • Better platform support: Mac OS X, Microsoft Windows (standalone installer provided here) and Android (beta APK here)
  • Up to date packages for most platforms and distributions (ie: Debian/Ubuntu repository)
  • System tray menu for easy disconnection
  • Memory Mapped data transfers for local connections - fast!
  • JPEG and PNG image compression (optional), including adaptive JPEG mode (bandwidth constrained)
  • non-US keyboard layout support
  • Handles screen update storms and fast screen refresh rates
  • Much lower CPU overhead in network code
  • Support for password protection option for securing plain TCP connections
  • Forwarding of system bell and custom application cursors
  • Forwarding of application notifications (requires its own dbus daemon)
  • Support for Xdummy and the RandR extension which fixes a number of otherwise unfixable display bugs (ie: #1, #2)
  • Ability to disable pulseaudio and clipboard synchronization
  • Clean client disconnection
  • Lots of small fixes

winswitch logo Front End and Packages

There is a front-end for xpra, available here.
The installer packages and repositories already contain xpra, amongst other things, follow the download instructions there for installation and install only the "xpra" package if you do not wish to try the GUI.
You can also browse the packages directly here.

forward Get Started

On the machine which will export the application (xterm in this example):
xpra start :100
DISPLAY=:100 xterm
For the simple case, we can then attach to this session from the same machine with:
xpra attach :100
If connecting from a remote machine, you would use something like:
xpra attach ssh:serverhostname:100

forum Help and Discussions

Post your questions anonymously on the public forum, send them to the mailing list or on the IRC channel: #winswitch on irc.freenode.net.

(do not be distracted by the fact that these are named "winswitch" or "shifter")

source Source Releases

You can find source code releases here, setup and build instructions here.
We try to stick to a monthly release cycle whenever possible.

(for binary packages, see above)

repository Repository

The subversion repository is located here:
http://xpra.org/svn/Xpra/
For simply browsing the source, the trac source browser is more convenient.

external link Upstream

The original version of xpra can be found here.
Note that it is now well out of date and is very rarely getting updated (no new official releases in 2 years), there is very little point in using that version.