Changes between Version 40 and Version 41 of vnc3d/xpra


Ignore:
Timestamp:
11/20/20 14:05:58 (3 years ago)
Author:
Herwig Zilken
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • vnc3d/xpra

    v40 v41  
    3232=== Preparation
    3333   
    34 '''Download & Installation Xpra-client''' (>= 0.14.x, we recomment >=1.0.1)
    35  * '''[http://xpra.org/dists                        Linux (various distributions)]'''
    36    * [http://winswitch.org/downloads/rpm-repository.html RPM install instructions]
    37    * [http://winswitch.org/downloads/debian-repository.html DEB install instructions]
    38  * '''[http://xpra.org/dists/osx/x86/               MacOSX (>=10.5)]'''
    39    * [http://xpra.org/dists/osx/x86/Xpra.pkg PKG format (best choice)]
    40    * [http://xpra.org/dists/osx/x86/Xpra.dmg DMG format]
    41    * [[span(style=color: #FF0000, On MacOSX >= 10.12.2 Xpra currently must be installed on the system and cannot be started directly!)]]
    42  * '''[http://xpra.org/dists/windows/Xpra_Setup.exe Windows (>=XP)]
    43    * [[span(style=color: #FF0000, !AntiVirus programs like 'Kaspersky' slow down startup of Xpra a lot(!) the '''first few times''' you call it.)]]\\[[span(style=color: #FF0000, It can take more than a minute until the GUI appears, when the Antivirus checks the application in detail.)]]\\[[span(style=color: #FF0000, Please be patient and blame your !AntiVirus application (you could also add an exception for Xpra in the !AntiVirus app).)]]
     34'''Download & Installation Xpra-client'''
    4435
    45 \\
     36Xpra can be downloaded for Windows, Linux and Mac from the official Xpra site:\\
     37http://www.xpra.org/trac/wiki/Download
     38
     39
    4640'''Authentication'''
    4741
     
    5347It must return the word 'success' for a successful SSH connection to JURECAVIS.
    5448
    55      Linux/MacOSX: \\'''ssh <YOUR-USERID>@jurecavis.fz-juelich.de echo "success"'''
     49     Linux/MacOSX: \\'''ssh <YOUR-USERID>@juwelsvis.fz-juelich.de echo "success"'''
    5650
    57      !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!
    58 
    59 \\
    60 === Quick Howto (Linux/MacOSX only)
    61 
    62 Start JURECA application directly from your workstation:
    63 
    64 {{{ #!sh
    65 client> xpra start ssh:<USERID>@<LOGINNODE> --start-child=<JURECA_APP> --min-quality=90
    66 }}}
    67   * password-less authentication using SSH must be ensured
    68   * set minimum quality to level 90 (unset:0, lowest:1, highest:100)
     51     !Windows/Putty: \\'''"C:\Program Files (x86)\PuTTY\plink.exe" -ssh <YOUR-USERID>@juwelsvis.fz-juelich.de echo "success"'''\\Ensure you have loaded your key in PuTTY´s SSH key agent called Pagent before!
    6952
    7053\\
    7154=== General approach using Xpra requires three steps.
    7255
    73 1. '''Start application in Xpra-server''' on a JURECA login node.
     561. '''Start application in Xpra-server''' on a JUWELS login node.
    74572. '''Connect with Xpra-client from workstation to Xpra-server'''
    75 3. '''Check if Xpra-server stopped''' on the JURECA login node.
     583. '''Check if Xpra-server stopped''' on the JUWELS login node.
    7659
    7760==== 1. Start application in Xpra-server
    7861
    79 Login to any JURECA login node and start application with Xpra-server
     62Login to any JUWELS login node and start application with Xpra-server. If you want hardware accelerated rendering, you need to login to a vis-login node.
     63
     64In the following example we use juwelsvis02.fz-juelich.de:
     65
     66Before you can use Xpra, you must load the needed modules, which are, as of November 2020:
     67{{{ #!sh
     68module --force purge
     69module use otherstages
     70ml Stages/Devel-2020  GCCcore/.9.3.0 xpra/4.0.4-Python-3.8.5
     71}}}
     72
     73The you can a application via the "xpra" command:
    8074
    8175* '''simple X11''' application
    8276{{{ #!sh
    83 jureca> xpra start --start-child=xterm --min-quality=90
     77jwvis02> xpra start --start-child=xterm --min-quality=90
    8478}}}
    8579
    8680* '''OpenGL''' application
    8781{{{ #!sh
    88 jurecavis> xpra start --start-child="glxgears" --min-quality=90
     82jwvis02> xpra start --start-child="vglrun glxgears" --min-quality=90
    8983}}}
    90   * using VirtualGL for hardware accelerated server-sider rendering on the GPU if available
    91   * **vglrun** is automatically put in front of the command, if **vglrun** exists on the node
    92   * currently only on JURECAVIS login nodes (jurecavis01.fz-juelich.de or jurecavis02.fz-juelich.de)
     84  * using VirtualGL for hardware accelerated server-side rendering only works, if a GPU with a running X-server is available
     85  * currently only on JUWELSVIS login nodes (juwelsvis00.fz-juelich.de to juwelsvis03.fz-juelich.de)
    9386
    9487Take a note of the <DISPLAYID> and the <LOGFILE> Xpra returns:
     
    10093==== 2. Connect with Xpra-client from workstation to Xpra-server
    10194
    102 Start the Xpra-client on the workstation to connect to the Xpra-server on JURECA.\\
     95Start the Xpra-client on the workstation to connect to the Xpra-server on JUWELS.\\
    10396
    10497* '''Connect using Xpra command line (primarily with Linux or MacOSX)'''
     
    113106  [[Image(Xpra_GUI.png, 200px)]]
    114107
    115   Mode = SSH\\<USERID>@jurecavis01.fz-juelich.de:22:<DISPLAYID>
     108  Mode = SSH\\
     109  <USERID>@juwelsvis02.fz-juelich.de:22:<DISPLAYID>
    116110
    117111==== 3. Check if Xpra-server stopped
     
    120114Check if that is the case and stop it manually if required.
    121115{{{ #!sh
    122 jureca> xpra list
    123 jureca> xpra stop :<DISPLAYID>
     116jwvis02> xpra list
     117jwvis02> xpra stop :<DISPLAYID>
    124118}}}
    125119
     
    132126**!ParaView** with full serverside rendering support using VirtualGL
    133127{{{ #!sh
    134 client> xpra start ssh:<USERID>@jurecavis01.fz-juelich.de --start-child=xterm --min-quality=90
     128client> xpra start ssh:<USERID>@juwelsvis02.fz-juelich.de --start-child=xterm --min-quality=90
    135129}}}
     130Now start load the necessary modules and start !ParaView in the xterm:
    136131{{{ #!sh
    137132xterm> module --force purge
    138 xterm> module load Stages/Devel
    139 xterm> module load GCC/5.4.0
    140 xterm> module load ParaStationMPI
    141 xterm> module load ParaView
     133xterm> ml Stages/2020  GCC/9.3.0  ParaStationMPI/5.4.7-1
     134xterm> ml ParaView/5.8.1-Python-3.8.5
    142135xterm> paraview
    143136}}}
     
    152145
    153146module --force purge
    154 module load Stages/2018a GCCcore/.5.5.0 Xpra/1.0.11-Python-2.7.14
    155 module load Atom/1.25.0
     147module load Stages/Devel-2020  GCCcore/.9.3.0
     148module load xpra/4.0.4-Python-3.8.5
     149module load Atom/1.52.0
    156150
    157151exec $@
     
    164158Now you can bring up a remote Atom with this single command
    165159{{{ #!sh
    166 client> xpra start ssh:<USERID>@jurecavis01.fz-juelich.de --start-child="atom -w" --min-quality=90 --dpi=96
     160client> xpra start ssh:<USERID>@juwelsvis02.fz-juelich.de --start-child="atom -w" --min-quality=90 --dpi=96
    167161}}}
    168162In order not to detach Atom from the calling process it needs to be started with {{{-w}}} option -- otherwise the xpra_wrapper would return immediately after initiating Atom and the xpra server shuts down.
     
    186180xpra start --start-child="xterm" --dpi=96 --min-quality=90
    187181}}}
    188 * HTML5: You want Xpra in a web-browser? Check this:\\http://hackaday.com/2017/03/31/linux-fu-applications-on-the-web/
    189 
    190 === Background Information
    191 '''Authentication:'''
    192 
    193 Xpra must communicate with JURECA via '''Secure Shell (SSH)'''. \\
    194 It is mandatory that JURECA trusts Xpra and is 100% sure \\
    195 that the incoming connection is by a certain user and no none else.
    196 
    197 Hence, each new SSH connections starts with an authentification procedure. \\
    198 SSH supports different authentification methods, but not all are available on any site. \\
    199 Xpra must be used with the most '''secure Public-Key Authentification (PKA)''' to connect to JURECA.
    200 
    201 PKA is based on a SSH key-pair with a private key and a public key. \\
    202 The private key never leaves the local machine and the public key must be installed on the remote machine. \\
    203 Anyone who knows the private key can now connect to the remote machine.
    204 
    205 '''Xpra Wrapper'''
    206 
    207 On JURECA Xpra is started through a wrapper script, which loads the Xpra module before calling Xpra:
    208 {{{ #!sh
    209 module use /usr/local/software/jureca/OtherStages
    210 module load Stages/Devel
    211 module load GCCcore/.5.4.0
    212 module load Xpra
    213 }}}
    214182
    215183----