-
Notifications
You must be signed in to change notification settings - Fork 3
X2Go Install
While computing clusters are typically used for batch processing and command-line tasks, some users may prefer to use a graphical environment. To accommodate those use cases, X2Go can be installed on the head node. Once installed, if the user runs any X11 applications on a compute node, the UI will appear within their X2Go session.
-
Download X2Go, IceWM, and any dependencies
yumdownloader --enablerepo=epel --destdir=/export/rocks/install/contrib/7.0/x86_64/RPMS/ x2goserver x2goserver-xsession x2goserver-common perl-X2Go-Server-DB sshfs pwgen x2goagent perl-File-BaseDir perl-X2Go-Server perl-X2Go-Log nxagent libXcompshad libNX_X11 libXcomp nx-libs yumdownloader --enablerepo=epel --destdir=/export/rocks/install/contrib/7.0/x86_64/RPMS/ icewm icewm-xdgmenu icewm-clearlooks pyxdg
-
Rebuild the local Rocks yum repository
cd /export/rocks/install/ rocks create distro
-
Install the packages on the head node
yum clean all yum install x2goserver x2goserver-xsession yum install icewm icewm-xdgmenu icewm-clearlooks
-
Edit /etc/ssh/ssh_config on the head node, and add the following:
ForwardX11Trusted yes
-
Edit the qlogin configuration on the head node, using the following command:
qconf -mconf global
And, make the following changes:
qlogin_command /opt/gridengine/bin/rocks-qlogin.sh qlogin_daemon /usr/sbin/sshd -i
-
Modify the cluster's extend-compute.xml, to create a helper script that will import various SGE supplied environment variables into the user's environment. Once the modifications are performed, rebuild the Rocks distribution.
<file name="/etc/profile.d/sge-interactive-env.sh" owner="root.root" perms="0644"> # https://arc.liv.ac.uk/pipermail/gridengine-users/2010-February/029106.html # Find the job ID by looking at the sge_shepherd process MYPARENT=`ps -p $$ -o ppid --no-header` MYPARENT=`ps -p $MYPARENT -o ppid --no-header` MYPARENT=`ps -p $MYPARENT -o ppid --no-header` MYSTARTUP=`ps -p $MYPARENT -o command --no-header` if [ "${MYSTARTUP:0:13}" = "sge_shepherd-" ]; then echo -n "Entering SGE interactive session: " MYJOBID=${MYSTARTUP:13} MYJOBID=${MYJOBID% -bg} echo "Job ${MYJOBID}" # Source parts of the sge_shepherd's environment file and export them in to our environment SGE_SPOOL=/opt/gridengine/default/spool ENVFILE=${SGE_SPOOL}/$(hostname -s)/active_jobs/${MYJOBID}.1/environment source <(sed -n -e 's/^SGE_\|^TMPDIR/export &/p' $ENVFILE) fi </file>