xpra README

The project's README from github.com/Xpra-org/xpra. As one markdown file: README.md.

  1. About
  2. Installation
  3. Usage
  4. Documentation
  5. Help

About

Xpra is known as "screen for X" : its seamless mode allows you to run X11 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(s), without losing any state. Effectively giving you remote access to individual graphical applications. It can also be used to access existing desktop sessions and start remote desktop sessions.

Xpra is open-source (GPLv2+) with clients available for many supported platforms, and the server includes a built-in HTML5 client. Xpra is usable over a wide variety of network protocols and does its best to adapt to any network conditions.

Xpra forwards and synchronizes many extra desktop features, which allows remote applications to integrate transparently into the client's desktop environment: audio input and output, printers, clipboard, system trays, notifications, webcams, etc.

It can also open documents and URLs remotely, display high bit depth content, and it will try to honor the display's DPI.

Here's what a seamless session with two windows (an xterm and glxspheres) looks like when attached from an MS Windows 11 desktop client: Windows11-client (the windows may look like native windows, but they are running on a remote Linux server)


Installation

Official stable downloads

All the packages are signed. There are also LTS and beta builds available.
For more information and more build architecture options, see xpra downloads.

Build from source

git clone https://github.com/Xpra-org/xpra; cd xpra
python3 ./setup.py install

For more details, see building from source. To contribute to the project, please try to use pull-requests and follow our code of conduct. Unit test status: xpra


Usage

Initial requirements

xpra must be installed on the client and the host.

You can use the html5 client in which case xpra is only required on the host.

Seamless Mode

Run xterm on a remote host, display and interact with it locally (from the client machine):

xpra seamless ssh://USER@HOST/ --start=xterm
# hint: xterm must be installed on the HOST.

For more examples, see usage.

Shadow

View an existing desktop session running on a remote host:

xpra shadow ssh://USER@HOST/

Network Access

Xpra servers can support many different types of connections using a single TCP port: SSL, SSH, (secure) http / websockets, RFB, etc..
Connections can be secured using encryption and many authentication modules.
Sessions can be automatically announced on LANs using multicast DNS so that clients can connect more easily using a GUI (ie: xpra mdns-gui).
Its flexible proxy server can be used as a relay or front end for multiple server sessions.


Documentation

There is extensive documentation right here for the current development version. This documentation is also included with each release.

For more generic version-agnostic information, checkout the wiki.


Help

Make sure to check the FAQ, your question may already be answered there. You can ask your questions on the GitHub discussions, or on the IRC channel #xpra on libera.chat or using discord. If you have hit a bug (sorry about that!), please see reporting bugs.

xpra (Xpra-org/xpra)

vnc
Searching Database…

3K ·GitHub
What is this?Xpra lets you run X11 applications on a remote host and display them on your local machine, keeping them running even after you disconnect - essentially 'screen' for GUI apps. It also supports full remote desktop sessions and screen sharing, with a built-in HTML5 web client.
Is this a desktop app, a CLI tool, or something else?Xpra is primarily a command-line server/client tool with native GUI clients for Windows, macOS and Linux, plus a server-side HTML5 client so you can connect from just a browser.
How do I get it running?Install the official signed package for your OS (Windows EXE/ZIP/MSI, macOS DMG/PKG for x86_64/arm64, or Linux RPM/DEB), or build from source, then start a session with xpra and connect with a client.
Do I need Xpra installed on both machines?Normally yes, Xpra must be installed on both the client and the host; the one exception is connecting through the built-in HTML5 client, where Xpra is only required on the host side.
Does it need a stable, fast network connection to work well?No specific network speed is required - Xpra is designed to adapt to varying network conditions and can run over many transport types (SSL, SSH, websockets, RFB) on a single TCP port.
Are remote connections encrypted?Yes, Xpra connections can be secured with encryption along with a choice of authentication modules.
What is the difference between seamless mode and shadow mode?Seamless mode forwards individual remote application windows so they look and act like local windows, while shadow mode lets you view and interact with an entire existing remote desktop session instead of just one app.
What extra desktop features does Xpra forward?It forwards audio input/output, printers, clipboard, system trays, notifications and webcams, and can open remote documents or URLs on the client side.
Can one connection serve multiple remote sessions?Yes, Xpra's proxy server can relay or act as a front end for multiple server sessions, and sessions can also be auto-announced on a LAN via multicast DNS for easier discovery.
Why is it called screen for X?Like the Unix 'screen' terminal multiplexer that keeps terminal sessions alive after you disconnect, Xpra keeps remote X11 GUI applications running and reattachable after you disconnect.
Creator
Xpra-org
Size
86.3 MB
Stars
3K
Age
5y
Commits · 90 Days