Changes between Version 40 and Version 41 of vnc3d/xpra
- Timestamp:
- 11/20/20 14:05:58 (3 years ago)
Legend:
- Unmodified
- Added
- Removed
- Modified
-
vnc3d/xpra
v40 v41 32 32 === Preparation 33 33 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''' 44 35 45 \\ 36 Xpra can be downloaded for Windows, Linux and Mac from the official Xpra site:\\ 37 http://www.xpra.org/trac/wiki/Download 38 39 46 40 '''Authentication''' 47 41 … … 53 47 It must return the word 'success' for a successful SSH connection to JURECAVIS. 54 48 55 Linux/MacOSX: \\'''ssh <YOUR-USERID>@ju recavis.fz-juelich.de echo "success"'''49 Linux/MacOSX: \\'''ssh <YOUR-USERID>@juwelsvis.fz-juelich.de echo "success"''' 56 50 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! 69 52 70 53 \\ 71 54 === General approach using Xpra requires three steps. 72 55 73 1. '''Start application in Xpra-server''' on a JU RECAlogin node.56 1. '''Start application in Xpra-server''' on a JUWELS login node. 74 57 2. '''Connect with Xpra-client from workstation to Xpra-server''' 75 3. '''Check if Xpra-server stopped''' on the JU RECAlogin node.58 3. '''Check if Xpra-server stopped''' on the JUWELS login node. 76 59 77 60 ==== 1. Start application in Xpra-server 78 61 79 Login to any JURECA login node and start application with Xpra-server 62 Login 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 64 In the following example we use juwelsvis02.fz-juelich.de: 65 66 Before you can use Xpra, you must load the needed modules, which are, as of November 2020: 67 {{{ #!sh 68 module --force purge 69 module use otherstages 70 ml Stages/Devel-2020 GCCcore/.9.3.0 xpra/4.0.4-Python-3.8.5 71 }}} 72 73 The you can a application via the "xpra" command: 80 74 81 75 * '''simple X11''' application 82 76 {{{ #!sh 83 j ureca> xpra start --start-child=xterm --min-quality=9077 jwvis02> xpra start --start-child=xterm --min-quality=90 84 78 }}} 85 79 86 80 * '''OpenGL''' application 87 81 {{{ #!sh 88 j urecavis> xpra start --start-child="glxgears" --min-quality=9082 jwvis02> xpra start --start-child="vglrun glxgears" --min-quality=90 89 83 }}} 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) 93 86 94 87 Take a note of the <DISPLAYID> and the <LOGFILE> Xpra returns: … … 100 93 ==== 2. Connect with Xpra-client from workstation to Xpra-server 101 94 102 Start the Xpra-client on the workstation to connect to the Xpra-server on JU RECA.\\95 Start the Xpra-client on the workstation to connect to the Xpra-server on JUWELS.\\ 103 96 104 97 * '''Connect using Xpra command line (primarily with Linux or MacOSX)''' … … 113 106 [[Image(Xpra_GUI.png, 200px)]] 114 107 115 Mode = SSH\\<USERID>@jurecavis01.fz-juelich.de:22:<DISPLAYID> 108 Mode = SSH\\ 109 <USERID>@juwelsvis02.fz-juelich.de:22:<DISPLAYID> 116 110 117 111 ==== 3. Check if Xpra-server stopped … … 120 114 Check if that is the case and stop it manually if required. 121 115 {{{ #!sh 122 j ureca> xpra list123 j ureca> xpra stop :<DISPLAYID>116 jwvis02> xpra list 117 jwvis02> xpra stop :<DISPLAYID> 124 118 }}} 125 119 … … 132 126 **!ParaView** with full serverside rendering support using VirtualGL 133 127 {{{ #!sh 134 client> xpra start ssh:<USERID>@ju recavis01.fz-juelich.de --start-child=xterm --min-quality=90128 client> xpra start ssh:<USERID>@juwelsvis02.fz-juelich.de --start-child=xterm --min-quality=90 135 129 }}} 130 Now start load the necessary modules and start !ParaView in the xterm: 136 131 {{{ #!sh 137 132 xterm> 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 133 xterm> ml Stages/2020 GCC/9.3.0 ParaStationMPI/5.4.7-1 134 xterm> ml ParaView/5.8.1-Python-3.8.5 142 135 xterm> paraview 143 136 }}} … … 152 145 153 146 module --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 147 module load Stages/Devel-2020 GCCcore/.9.3.0 148 module load xpra/4.0.4-Python-3.8.5 149 module load Atom/1.52.0 156 150 157 151 exec $@ … … 164 158 Now you can bring up a remote Atom with this single command 165 159 {{{ #!sh 166 client> xpra start ssh:<USERID>@ju recavis01.fz-juelich.de --start-child="atom -w" --min-quality=90 --dpi=96160 client> xpra start ssh:<USERID>@juwelsvis02.fz-juelich.de --start-child="atom -w" --min-quality=90 --dpi=96 167 161 }}} 168 162 In 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. … … 186 180 xpra start --start-child="xterm" --dpi=96 --min-quality=90 187 181 }}} 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 Information191 '''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 {{{ #!sh209 module use /usr/local/software/jureca/OtherStages210 module load Stages/Devel211 module load GCCcore/.5.4.0212 module load Xpra213 }}}214 182 215 183 ----