Xpra
Screen and application forwarding system
title: "Xpra" type: doc version: 1 created: 2026-02-28 author: "Wikipedia contributors" status: active scope: public tags: ["x-window-programs", "remote-desktop", "proxy-servers", "x-servers", "remote-desktop-software-for-linux", "free-software-programmed-in-python", "software-using-the-gnu-general-public-license"] description: "Screen and application forwarding system" topic_path: "technology/operating-systems" source: "https://en.wikipedia.org/wiki/Xpra" license: "CC BY-SA 4.0" wikipedia_page_id: 0 wikipedia_revision_id: 0
::summary Screen and application forwarding system ::
::data[format=table title="Infobox software"]
| Field | Value |
|---|---|
| name | Xpra |
| logo | |
| screenshot | |
| author | Nathaniel Smith |
| developer | Nathaniel Smith, Antoine Martin |
| released | |
| latest release version | 6.3{{cite web |
| url | https://github.com/Xpra-org/xpra/blob/v6.3/docs/CHANGELOG.md |
| title | Changelog |
| website | GitHub |
| date | 23 April 2025 |
| access-date | 1 May 2025 |
| latest release date | |
| latest preview date | |
| programming language | Python |
| operating system | Unix-like, MS Windows, Mac OS X |
| language | English |
| language count | |
| license | GPL-2.0-or-later |
| website | |
| frequently updated | |
| :: |
| title = | name = Xpra | logo = | logo caption = | screenshot = | caption = | collapsible = | author = Nathaniel Smith | developer = Nathaniel Smith, Antoine Martin | released = | discontinued = | latest release version = 6.3{{cite web | url = https://github.com/Xpra-org/xpra/blob/v6.3/docs/CHANGELOG.md | title = Changelog | website = GitHub | date = 23 April 2025 | access-date = 1 May 2025 | latest release date = | latest preview version = | latest preview date = | programming language = Python | operating system = Unix-like, MS Windows, Mac OS X | platform = | size = | language = English | language count = | language footnote = | genre = | license = GPL-2.0-or-later | alexa = | website = | standard = | AsOf = | logo_size = | logo_alt = | screenshot_size = | screenshot_alt = | frequently updated =
xpra, abbreviated from X Persistent Remote Applications, is a set of software utilities that run X clients, typically on a remote host, and direct their display to the local machine without the X clients closing or losing any state in case the network connection between the local machine and the remote host is lost.
Xpra differs from standard X forwarding primarily in allowing disconnection and reconnection without disrupting the forwarded application. It also differs from VNC and similar remote display technologies in being rootless, so applications forwarded by Xpra appear on the local desktop as normal windows managed by the local window manager, rather than being all "trapped in a box together". Xpra also uses a custom protocol that is self-tuning and relatively latency-insensitive, and thus is usable over worse links than standard X.
The original inspiration for making Xpra came from the original author's experience of attempting to use various setups based on NX technology.
Operation
::figure[src="https://upload.wikimedia.org/wikipedia/commons/0/03/X_client_server_example.svg" caption="The [[display server]] manages the input and the output for all of its clients. Xpra acts like a compositing window manager."] ::
Xpra connects as a compositing window manager to an Xvfb display server. However, instead of combining the window images to present on the screen, it directs the window images into a network connection to the Xpra client, where they are displayed on the remote screen. The Xpra server also supports direct attachment, which makes it behave as a persistent application server, for example in the case where there is only an X server available at the remote end.
Xpra also acts as a window manager for the X server it is running against, but it does not actually have any window manager policy built into it. Instead, it takes all the window management requests from the applications, sends them over the wire to the client, which then issues those same requests on the real display, waits for further answer the real window manager gives, and then forwards that answer back to the Xpra server. In addition to the normal Xpra client, it also supports using an HTML 5 capable web browser as a client.
References
References
- Michael Larabel. (2013-08-19). "XPRA: Persistent Remote Applications On X". [[Phoronix]].
- "Xpra - ArchWiki".
- Smith, Nathaniel. (2009-07-25). "Comment #343389". LWN.
- Williams, Al. (31 March 2017). "Linux-Fu: Applications on the web".
::callout[type=info title="Wikipedia Source"] This article was imported from Wikipedia and is available under the Creative Commons Attribution-ShareAlike 4.0 License. Content has been adapted to SurfDoc format. Original contributors can be found on the article history page. ::