xpra icon
screen for X

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 constraints, especially with x264 and automatic settings.
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 , Android APK (beta), Solaris, FreeBSD, OpenBSD and many more
  • Up to date binary packages and repositories: DEB (Debian/Ubuntu) / RPM (Fedora/CentOS/openSUSE) , and many more
  • Concurrent multi-client connections (experimental)
  • GUI launcher
  • Supports global configuration file (/etc/xpra/xpra.conf) and per-user overrides (~.xpra/xpra.conf)
  • Zero-copy and much lower CPU overhead in network code, faster packet encoder
  • System tray menu for easy disconnection, access to options and statistics
  • Memory-mapped data transfers for local connections - extremelly fast!
  • x264, VPX, JPEG and PNG image compression (all optional, but highly recommended)
  • Better client keyboard layout support
  • Handles screen update storms and fast screen refresh rates
  • 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, change dpi setting, etc
  • Support for shadowing existing displays (see xpra shadow)
  • Clean client disconnection
  • Lots of small bug fixes, security fixes and portability fixes (IPv6, endianness, platforms, etc)

winswitch logo Front End and Binary 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
Or more simply (which is also more resilient if running these commands remotely):
xpra start :100 --start-child=xterm
For the simple case, we can then attach to this xterm session from the same machine (if it has a desktop session), with:
xpra attach :100
If connecting from a remote machine, you would use something like:
xpra attach ssh:serverhostname:100
One can also use plain TCP sockets and password authentication if desired.

forum Help and Discussions

Send your questions to the mailing list or join us on the IRC channel: #winswitch on irc.freenode.net.

source Source Releases

You can find source code releases here, setup and build instructions here.
New major versions are generally released on a bimonthly cycle (more or less - when it is ready).

(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.
In between releases, you may find beta builds here.