== Graphical Login (VNC) ... with Strudel [[PageOutline]] {{{#!table style="border:none; text-align:left; margin:0px" {{{#!th align=left,style="border: none" [[Image(strudel_icon.png, 60px, align=left, margin=0, link=wiki:vnc3d/strudel)]] }}} {{{#!th align=left,style="border: none" '''Strudel''' (Scientific Remote Desktop Launcher) Strudel is a cross-platform application which is helps to access interactive desktop sessions on high performance computing systems and cloud environments. \\ The name is a partial acronym of Scientific Remote Desktop Launcher (and a tasty pastry), and has been developed under the NeCTAR-funded [https://www.massive.org.au/cvl Characterisation Virtual Laboratory]. \\ Strudel is developed by the MASSIVE team for users of the Multi-modal Australien ScienceS Imaging and Visualization Environment ([https://www.massive.org.au MASSIVE]) and the Characterisation Virtual Laboratory. '''DISCLAIMER:''' Strudel is research software and it may contain bugs ... '''Download:''' * '''[https://gitlab.version.fz-juelich.de/vis/strudel/tree/master/bin Strudel ..... (JSC-Link, tested versions only, Linux, MacOSX, Windows)]''' }}} {{{#!th align=left,style="border: none" [[Image(Strudel_GUI.png, 200px)]] }}} }}} \\ === Preparation '''Very Important !!!'''\\ * SSH key agent '''must be''' running on your system.\\ * SSH key for JURECA '''must be''' loaded into the SSH key agent.\\ * SSH tunnel cipher must NOT be a arcfour128 -> please choose '''3des-cbc'''. Please test your system before you proceed. \\ Execute the command with your JURECA-userid on your local workstation.\\ It must return with nothing else than the word 'success'. Linux/MacOSX: \\'''ssh -A -T @jurecavis.fz-juelich.de ssh -A -T @jureca echo "success"''' !Windows/Putty: \\'''"C:\Program Files (x86)\PuTTY\plink.exe" -ssh -A -T @jurecavis.fz-juelich.de ssh -A -T @jureca echo "success"''' What if I do not see the word 'success'? 1) Please try the joined commands separately (without '-T' first and in verbose mode '-v'):\\ '''ssh -v -A @jurecavis.fz-juelich.de''' and from there (jurecavis) call '''ssh -v -A @jureca'''\\This might give a hint already. 2) You need to login with SSH to the machine Strudel will be possibly using at least once.\\This adds them to your local SSH known_hosts file.\\Login to '''jurecavis01.fz-juelich.de, jurecavis02.fz-juelich.de''' from your local machine. 3) You have no '''SSH key agent''' running or you key is not loaded.\\Check additional information below. 4) You have MacOS X >= 10.12.2. Make sure you have read [https://developer.apple.com/library/content/technotes/tn2449/_index.html THIS]. === Installation * '''Linux''' * download & install VNC viewer [http://www.turbovnc.org TurboVNC] \\ (we recommend the latest stable TurboVNC version, requires Java - we recommend version 8) * download & install [https://gitlab.version.fz-juelich.de/vis/strudel/tree/master/bin Strudel] * '''Windows''' * download & install SSH client [http://www.putty.org PuTTy] * add your SSH key to PuTTy's * install VNC viewer [http://www.turbovnc.org TurboVNC] \\ (we recommend the latest stable TurboVNC version, requires Java - we recommend version 8) * download & install [https://gitlab.version.fz-juelich.de/vis/strudel/tree/master/bin Strudel] * '''MacOS X''' * download & install [https://www.java.com/download Oracle Java Runtime Environment] * download & install VNC viewer [http://www.turbovnc.org TurboVNC] __for Oracle Java__ (download TurboVNC-*.dmg, but '''NOT''' TurboVNC-*-!AppleJava.dmg)\\ (you will need to install a Java Runtime Environment, we recommend version 8) * download & install [https://gitlab.version.fz-juelich.de/vis/strudel/tree/master/bin Strudel] === Post-Installation * "Remember me"-Option '''must be''' choosen in Strudel * JURECA '''must be''' chosen in Strudel->'File->Manage sites' * Please add the following URL to 'File->Manage sites' if not available:\\ * https://gitlab.version.fz-juelich.de/vis/strudel/raw/master/conf/jsc_jureca_flavours_v2.0.json * Note: the menu "Identity" is of no use on JURECA - just ignore it. \\ {{{#!table style="border:none; text-align:left; margin:0px" {{{#!th align=left,style="border: none" [[Image(https://trac.version.fz-juelich.de/vis/raw-attachment/wiki/vnc3d/manual/turbovnc-128.png, 60px, align=left, margin=0, link=http://www.turbovnc.org)]] }}} {{{#!th align=left,style="border: none" '''[http://www.turbovnc.org TurboVNC]''' * VNC Viewer '''must be''' installed on your local computer * JSC will focus on TurboVNC 2.x as it is optimized for use with VirtualGL. * '''for best performance''' * do not use any other VNC viewer! * use VirtualGL to run OpenGL applications '''Download:''' [https://sourceforge.net/projects/turbovnc/files/ TurboVNC installation files] }}} }}} \\ === Background Information '''Authentication:''' Strudel communicates with remote sites via '''multiple Secure Shells (SSH)'''. \\ It is mandatory that the remote site trusts Strudel 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. \\ Strudel uses the most '''secure Public-Key Authentification (PKA)''' as it is supported by all sites. 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. \\ Hence, the private key is in general encrypted with a '''passphrase''' for security reasons. But it is not desirable to involve the user in each of the multiple authentification procedures. \\ Hence, Strudel relys on an running '''SSH key agent''' on the local machine. \\ A SSH key agent loads private keys and ask for the passphrase once. \\ For a new SSH connection the SSH key agent can now provide the private key without user interaction. '''How this required SSH key agent is started and what private keys are loaded depends on YOU:''' - in general Linux and MacOSX starts a SSH key agent on login - if this is not the case: run 'ssh-agent $SHELL' and start Strudel in the same terminal - load your key to a SSH key agent before you start Strudel - Linux: 'ssh-add ~/.ssh/id_rsa' - MacOS X: 'ssh-add ~/.ssh/id_rsa' - for MacOS X >= 10.12.2 you must read this additional information [https://developer.apple.com/library/content/technotes/tn2449/_index.html HERE] - Windows: use Putty's Pageant - choose "Remember me" as Authentication Option in Strudel (this will ensure, that the available SSH key agent is used) ---------------------- '''Known Installations & QuickFixes:'''\\ ||= =||= '''Version''' =||= '''Success?''' =||= !QuickFix =|| || Windows || 7,8,10 || YES || || || MaxOSX || || YES || || || CentOS || 6 || YES || || || CentOS || 7 || YES || || || Fedora || 23 || YES || || || Fedora || 24 || NO->YES || delete /bin/libssl* and /bin/libcrypto* (ensure package 'openssl' is installed on your system) || || openSUSE || 13.1 || NO->YES || delete /bin/libgio-2.0.so.* || || Debian || 8.5 || NO->YES || overwrite /bin/libpython2.7.so.1.0 with system one || ||!ArchLinux|| Jun-2016 || NO->YES || delete /bin/libxcb* and /bin/libreadline.so.6 || Strudel packages come with lots of system-libs from the build system included to increase portability between different Linux distributions.\\ But for some distributions these libs do not fit. A possible solution is to use libs installed system-wide if available. \\ If you delete a lib in /bin, strudel will search for it system-wide. Please send me the name and version number of your operation system you run Strudel on (or failed to run Strudel on). === Other Sites Using Strudel * [https://support.pawsey.org.au/documentation/display/US/Getting+started%3A+Remote+visualisation+with+Strudel Pawsey Supercomputing Centre]\\The Pawsey Supercomputing Centre is supported as part of the Australian Government's measures to support national research infrastructure under the National Collaborative Research Infrastructure Strategy and related programs through the Department of Education * [https://confluence.apps.monash.edu/pages/viewpage.action?pageId=99353113#InteractiveSessions(Strudel)-InteractiveSessions(Strudel) MonASH University] === More Link to previous and developer releases of Strudel * [https://cvl.massive.org.au/launcher_files/latest/ Strudel at MASSIVE] ---- any feedback welcomed - [mailto:h.zilken@fz.juelich.de], [mailto:j.goebbert@fz-juelich.de]