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.
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
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.
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:
If connecting from a remote machine, you would use something like:
xpra attach ssh:serverhostname:100
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)
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.