Using X2Go for data visualization

Visualization servers

We have many servers dedicated to extensive visualization (OpenGL/Mesa/CUDA) at PSMN (See Login nodes for a list.).

They are accessible using X2Go. Finally, and most importantly, these servers have access to scratches (scratch system common to PSMN’s partitions).

Note

These machines were set up thanks to the preparatory work, recipes and integrations carried out on the CBP experimental platform.

Prerequisites

Configure x2goclient

New session

../_images/x2go-01-config.png

Fig. 15 New session

  1. Session -> New

  2. You can return to the parameters by clicking on the small arrowhead

  3. The session is saved in this white rectangle.

Parameters: Tab Session

../_images/x2go-02-config.png

Fig. 16 Session tab

  1. Name the session,

  2. Host = r740visu,

  3. Try auto login -> Checked,

  4. Use proxy server -> Checked,

  5. SSH -> Checked,

  6. Host = allo-psmn.psmn.ens-lyon.fr,

  7. Same login -> Checked,

  8. Same password -> Checked,

  9. ssh-agent -> Checked,

  10. Session type = XFCE

Warning

The Session type NEEDS to be set to XFCE

Parameters: Tab Connection

../_images/x2go-03-config.png

Fig. 17 Connection tab

  1. choose a speed between ADSL and WAN.

Parameters: Tab Input/Output

../_images/x2go-04-config.png

Fig. 18 Input/Output tab

  1. Customize the screen size, or leave it in Full/whole mode, your choice

  2. If necessary, force keyboard settings (Mac and Windows).

Parameters : Tab Media

../_images/x2go-05-config.png

Fig. 19 Media tab

  1. Sound support -> Unchecked,

  2. Printing support -> Unchecked.

Connection from inside ENS network

../_images/x2go-01-config.png

Fig. 20 X2Go client

Just click on the session of your choice (arrow n°3) to start the connection process.

Expected result:

../_images/x2go-r730visu-07-xfce-desktop.png

Fig. 21 X2Go session

Connection from outside ENS network

Linux or Mac OSX

This paragraph concerns a connection to the visualization machine from outside the ENS, from a Linux or Mac OSX client. SSH bounces must be active, make sure you have read (understood and tested) the related documentation.

PSMN external connections synoptic

Fig. 22 PSMN external connections synoptic

  • Minimal modification to be made in your ~/.ssh/config (on user’s workstation):

Host allo-psmn-multihop
User mylogin
ProxyCommand ssh -qt mylogin@ssh.psmn.ens-lyon.fr tcpconnect allo-psmn.psmn.ens-lyon.fr %p

Note

Replace mylogin by your PSMN login.

  • X2Go settings

../_images/x2go-02-config.png

Fig. 23 Session tab

In the tab Session, block Proxy server, box Host: (arrow n°6), replace allo-psmn.psmn.ens-lyon.fr by the new configuration : allo-psmn-multihop.

Windows

Unfortunately, X2Go on Windows does not support multiple bounces (or ProxyJump). You need to configure a ssh tunnel, in a terminal:

ssh -N -L 2222:allo-psmn.psmn.ens-lyon.fr:22 mylogin@ssh.psmn.ens-lyon.fr

Terminal won’t display a message once the connection is established. Don’t close it.

Note

Replace mylogin by your PSMN login.

  • X2Go settings

../_images/x2go-02-config.png

Fig. 24 Session tab

New configuration: In the tab Session, block Proxy server, box Host: (arrow n°6), replace allo-psmn.psmn.ens-lyon.fr by localhost, in box Port: replace 22 by 2222.

Usage

Every application installed in the PSMN environment can be used as is.

Numeric keyboard

If your numeric keypad is not recognized, in a terminal within the x2go session, run the numlockx program.

modulefiles

For every application requiring the loading of a modulefile (See Modular Environment), it is necessary to first load the modulefile from a terminal, within the x2go session, then run the application.

Sometimes, x2go sessions don’t load the ~/.profile. You can force it, by hand, with source ~/.profile, or add this line to your ~/.bashrc :

source /usr/share/lmod/lmod/init/bash

Mac users

MacOS X users must have XQuartz installed and running prior to use x2go-client, see x2goclient documentation.

XFCE Compositing

On new Debian 11 profiles, you will need to deactivate the Compositor for accelerated applications (See VirtualGL below) to work properly (Settings > Window Manager Tweaks > Compositor: uncheck ‘Activate Compositor’).

XFCE Settings, Compositor tab (FRE)

Fig. 25 Compositor Tab (in french, english screenshot needed)

Or, edit ~/.config/xfce4/xfconf/xfce-perchannel-xml/xfwm4.xml, search for use_compositing, and change the value to false:

From <property name="use_compositing" type="bool" value="true"/> to <property name="use_compositing" type="bool" value="false"/>.

GPU Acceleration: VirtualGL

For every application requiring graphical hardware acceleration (OpenGL/GLX/GLSL/…), after loading the corresponding modulefile (See Modular Environment), you must prefix the call to the application by the VirtualGL wrapper: vglrun application.

Examples

All following examples are run on r740visu, via a x2go session:

  • ParaView

In a terminal run:

source ~/.profile
module use /applis/PSMN/debian11/Generic/modules/all/
module load ParaView
vglrun paraview
ParaView "pressure-volume"

Fig. 26 Example with ParaView “pressure-volume”

ParaView "velocity-surfaceLIC"

Fig. 27 Example with ParaView “velocity-surfaceLIC”

  • Avogadro

In a terminal run:

source ~/.profile
vglrun avogadro2
avogadro

Fig. 28 Example with avogadro

  • VMD

In a terminal run:

source ~/.profile
# using LCH configuration
module load VMD
vglrun vmd
VMD

Fig. 29 Example with VMD

  • molden/gmolden

In a terminal run:

source ~/.profile
# using LCH configuration
module load Molden
vglrun gmolden
gmolden

Fig. 30 Example with Molden