wiki:vnc3d/xpra

Version 23 (modified by Jens Henrik Goebbert, 7 years ago) ( diff )

--

Xpra - X Persistent Remote Applications

Xpra is currently in the testphase.
Please report any issues to j.goebbert@… .


Xpra (X Persistent Remote Applications)

... is a remote display solution for forwarding applications and desktop screens.
Applications forwarded by Xpra appear on the local desktop as normal windows (seemless mode),
rather than being all "trapped in a box together" (full desktop mode) like with VNC.
Xpra uses a custom protocol that is self-tuning and relatively latency-insensitive, and thus is usable also over worse links.
Xpra allows disconnection and reconnection without disrupting the forwarded application.

Xpra is an open-source software for multiple platforms (Linux, Windows, MaxOS, etc.).

Preparation

Download & Installation Xpra-client

  • Linux (various distributions)
  • MacOSX (>=10.5)
  • Windows (>=XP)
    • Antivirus programs like 'Kaspersky' slow down startup of Xpra a lot(!) the first time you call it.
      It can take up to a minute until the GUI appears, when the Antivirus checks the application the first time.
      Please be patient and blame your Antivirus application (you could also add an exception for Xpra in 'Kasperky').
      This should only happen the first time you call Xpra.


Authentication

Xpra must communicate with JURECA via Secure Shell (SSH) and JURECA requires authentication to be password-less using SSH key-pair.
Please test your system before you proceed.

Execute the command with your JURECA-userid on your local workstation.
It must return the word 'success' for a successful SSH connection to JURECAVIS.

Linux/MacOSX:
ssh <YOUR-USERID>@jurecavis.fz-juelich.de echo "success"

Windows/Putty:
"C:\Program Files (x86)\PuTTY\plink.exe" -ssh <YOUR-USERID>@jurecavis.fz-juelich.de echo "success"
Ensure you have loaded your key in PuTTY´s SSH key agent called Pagent before!


Using Xpra requires three general steps.

  1. Start application in Xpra-server on a JURECAVIS node.
  2. Connect with Xpra-client from workstation to Xpra-server
  3. Stop Xpra-server on the JURECAVIS node.

1. Start application in Xpra-server

Prepare for Xpra:

ssh <USERID>@jurecavis01.fz-juelich.de

# Xpra is currently in testphase
module use /usr/local/software/jureca/OtherStages
module load Stages/Devel
module load GCCcore/.5.4.0

module load Xpra

Start application in Xpra-server with a new <DISPLAYID> (choose arbitrary but unique, 100-1000)

  • simple X11 application
    xpra start :<DISPLAYID> --start-child=xterm
    
  • OpenGL application (using VirtualGL for hardware accelerated server-sider rendering on the GPU)
    xpra start :<DISPLAYID> --start-child="vglrun glxgears"
    

2. Connect with Xpra-client from workstation to Xpra-server

Start the Xpra-client on the workstation to connect to the Xpra-server on JURECAVIS.

  • Connect with Linux or MacOSX Xpra-client
    xpra attach ssh:<USERID>@jurecavis01.fz-juelich.de:<DISPLAYID>
    
  • Connect with Windows Xpra-client
    Mode = SSH
    <USERID>@jurecavis01.fz-juelich.de:22:<DISPLAYID>

3. Stop Xpra-server

Make sure you stop the Xpra-server, when it is not needed any more.

xpra list
xpra stop :<DISPLAYID>

More on Xpra

Full documentation of Xpra command: http://xpra.org/manual.html

Usefull examples:

  • List all running Xpra-server:
    xpra list
    
  • Get all infos of a running Xpra-server:
    xpra info :<DISPLAYID>
    
  • Start Xpra-server with larger/smaller fonts
    xpra start :<DISPLAYID> --start-child="xterm" --dpi=96
    

Background Information

Authentication:

Xpra must communicate with JURECA via Secure Shell (SSH).
It is mandatory that JURECA trusts Xpra and is 100% sure
that the incoming connection is by a certain user and no none else.

Hence, each new SSH connections starts with an authentification procedure.
SSH supports different authentification methods, but not all are available on any site.
Xpra must be used with the most secure Public-Key Authentification (PKA) to connect to JURECA.

PKA is based on a SSH key-pair with a private key and a public key.
The private key never leaves the local machine and the public key must be installed on the remote machine.
Anyone who knows the private key can now connect to the remote machine.


any feedback welcomed - h.zilken@…, j.goebbert@…

Attachments (2)

Download all attachments as: .zip

Note: See TracWiki for help on using the wiki.