== Graphical Login (VNC) [[PageOutline]] [[span(style=color: #FF0000, '''Graphical Login (VNC) only with JURECA login possible.''')]] [[Image(https://upload.wikimedia.org/wikipedia/en/thumb/5/51/Virtual_Network_Computing_%28logo%29.svg/220px-Virtual_Network_Computing_%28logo%29.svg.png,100px, align=left, margin=0, link:vnc3d)]] [[Image(xpra-logo.png, 100px, align=left, margin=0, link:vnc3d)]] \\ [[Image(http://www.virtualgl.org/pmwiki/uploads/Main/virtualgl.gif, 200px, align=left, margin=10, link=wiki:vnc3d)]] [[Image(screenshot_vnc.png, 400px, align=right, margin=10, link=wiki:vnc3d)]] Remote visualization, either implemented within visualization applications themselves or through server software, eliminates the need for off-site file transfers and allows HPC users to run a broad range of visualization tools in-place on the supercomputer where the data resides and more compute resources are available. Remote visualization provides a graphical access by \\ * transmitting the keyboard and mouse events from your computer to the remote machine. * relaying the graphical screen updates back in the other direction. * is application-independent (no need for remote visualization support inside the specific application). A broad variety of Linux applications with graphical user interface and/or need for OpenGL can be used directly on the supercomputers via remote visualization. Multiple software solutions for remote visualization are possible from which we recomment on our system VNC or Xpra. Our decision is based on the mandatory requirement for support of * server-side rendering with OpenGL (using VirtualGL) * client-support on many operating systems (Linux, MaxOS, Windows, etc.) * flexible use in user specific setups * optimized even for low bandwidth connections In general one can distinguish between '''full desktop mode''' and '''seamless window mode''' solutions.\\ While using a full desktop mode presents a complete desktop environment (on JURECA we run XFCE) in a single window on the user´s workstation, the seamless window mode makes applications running on JURECA appear on the local desktop as normal windows managed by the local window manager. The full-blown and one-click solution for remote visualization allows a remote full desktop on frontend nodes and/or compute nodes is provided using '''Virtual Network Computing (VNC)''' over the login tool '''Strudel'''.\\ We recomment to use VNC+Strudel as our first choice as it is integrated most efficiently into our batch system at the moment.\\ For access to remote seamless windows we recomment '''X Persistent Remote Applications (Xpra)''' as a light-weight solution. \\ === Ok, what do I have to do? {{{#!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" [[Image(Strudel_GUI.png, 120px, align=right, margin=0, link=wiki:vnc3d/strudel)]] '''VNC + Strudel''' (Scientific Remote Desktop Launcher) * provides a complete graphical and '''remote full desktop''' * survives disconnect & reconnect * supports easy start of remote visualization jobs over the batch system (including reconnect). * supports easy use of multiple compute nodes together with remote visualization jobs (eg. parallel ParaView). * multiple clients may connect to a VNC server at the same time sharing the same session (support, presentation, group discussions) * cross-platform application for Linux, MacOS and Windows * Strudel '''should be used''' to access remote graphical desktop on JURECA * developed * by the Multi-modal Australien ScienceS Imaging and Visualization Environment ([https://www.massive.org.au MASSIVE]) team * under the NeCTAR-funded [https://www.massive.org.au/cvl Characterisation Virtual Laboratory] [wiki:vnc3d/details ... more details] ...................................................................................................................................................................................\\ '''[wiki:vnc3d/strudel ==> Download & Install Instructions <==]''' }}} }}} \\ === I do not want a full blown remote desktop, give me a lightweight solution: {{{#!table style="border:none; text-align:left; margin:0px" {{{#!th align=left,style="border: none" [[Image(xpra-logo.png, 60px, align=left, margin=0, link=wiki:vnc3d/manual)]] }}} {{{#!th align=left,style="border: none" [[Image(Xpra_GUI.png, 120px, align=right, margin=0, link=wiki:vnc3d/strudel)]] '''Xpra''' (X Persistent Remote Applications) * provides a '''remote seamless window''' solution. * this is the best '''replacment for ssh -X''' * survives disconnect & reconnect * every window appears as a separate window on the user’s desktop * graphical window is encoded to a video stream and send to the user´s desktop * focus is on fixed frame rate and dynamic frame quality [wiki:vnc3d/xpra ... more details] ...................................................................................................................................................................................\\ '''[wiki:vnc3d/xpra ==> Download & Install Instructions <==]''' }}} }}} \\ == Alternatives - NOT RECOMMENDED === I cannot (or do not want to) use Strudel to start a VNC session - how do I start VNC manually? {{{#!table style="border:none; text-align:left; margin:0px" {{{#!th align=left,style="border: none" [[Image(manual_icon.png, 60px, align=left, margin=0, link=wiki:vnc3d/manual)]] }}} {{{#!th align=left,style="border: none" '''vncserver/ssh/vncviewer''' (manual connection for VNC) * manual start of VNC server on JURECA * manual tunnel for VNC data * manual start of VNC viewer on local machine ...................................................................................................................................................................................\\ '''[wiki:vnc3d/manual ==> Install instructions <==]''' }}} }}} \\ === I do not want a full blown remote desktop, give me a another lightweight solution: {{{#!table style="border:none; text-align:left; margin:0px" {{{#!th align=left,style="border: none" [[Image(virtualgl_vertical_small.png, 60px, align=left, margin=0, link=wiki:vnc3d/manual)]] }}} {{{#!th align=left,style="border: none" '''vglconnect/vglrun''' (no VNC - only a 3d accelerated "ssh -X") * this is a '''replacment for ssh -X''' * every application window appears as a separate window on the user’s desktop * 3D (VGL Transport) with X11 Forwarding * 2D (X11) rendering occurs on the client machine ...................................................................................................................................................................................\\ '''[wiki:vnc3d/vglconnect ==> Install instructions <==]''' }}} }}} \\ == Comparison of possible Remote Visualization Solutions == ||= General Features =||= '''VNC+Strudel''' =||= '''Xpra''' =||= '''ssh -X''' =|| ||= '''NX''' =||= '''RDesktop''' =|| || Stability || ++ || ++ || - || || + || ++ || || Performance over slow link || + || ++ || -- || || ++ || + || || Server-side rendering || VirtualGL || VirtualGL || - || || VirtualGL || - || || Suspend & resume session || YES || YES || - || || YES || YES || || Seamless mode || - || YES || YES || || YES || YES || || Full Desktop mode || YES || (YES) || (YES) || || YES || YES || || Session Sharing || YES || YES || - || || YES || - || || No local X-server needed || YES || YES || - || || - || YES || ||= JSC-specific Features =||= =||= =||= =|| ||= =||= =|| ||Supports direct job submission|| YES || - || - || || - || - || ||Supports parallel jobs || YES || - || - || || - || - || ||Supports resume to job-sessions|| YES || - || - || || - || - || || Supports desktop profiles || YES || - || - || || - || - || || Main Issues ||software setup|| no integration\\in batch system ||slow, chatty protocol,\\no server-side rend.,\\client X-server req.|| || -not avail.- || -not avail.- || taken from https://winswitch.org/documentation/protocols/choose.html ---- any feedback welcomed - [mailto:h.zilken@fz.juelich.de], [mailto:j.goebbert@fz-juelich.de]