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 SSH connection to PSMN (See Connection chapter)
Install X2Go (x2goclient) on user’s workstation (Linux, Mac or Windows, see http://wiki.x2go.org/)
Configure x2goclient
New session
Session -> New
You can return to the parameters by clicking on the small arrowhead
The session is saved in this white rectangle.
Parameters: Tab Session
Name the session,
Host = r740visu,
Try auto login -> Checked,
Use proxy server -> Checked,
SSH -> Checked,
Host = allo-psmn.psmn.ens-lyon.fr,
Same login -> Checked,
Same password -> Checked,
ssh-agent -> Checked,
Session type = XFCE
Warning
The Session type NEEDS to be set to XFCE
Parameters: Tab Connection
choose a speed between ADSL and WAN.
Parameters: Tab Input/Output
Customize the screen size, or leave it in Full/whole mode, your choice
If necessary, force keyboard settings (Mac and Windows).
Parameters : Tab Media
Sound support -> Unchecked,
Printing support -> Unchecked.
Connection from inside ENS network
Just click on the session of your choice (arrow n°3) to start the connection process.
Expected result:
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.
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
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
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’).
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
Avogadro
In a terminal run:
source ~/.profile
vglrun avogadro2
VMD
In a terminal run:
source ~/.profile
# using LCH configuration
module load VMD
vglrun vmd
molden/gmolden
In a terminal run:
source ~/.profile
# using LCH configuration
module load Molden
vglrun gmolden