[gridengine users] window size, qlogin and X11 forwarding

Stuart Barkley stuartb at 4gh.net
Fri May 25 22:13:50 UTC 2018


I had thought our system had been configured for qlogin X11 forwarding
for several years now, but recently I became aware that we had never
actually configured it.  The basics of the process are documented and
discussed in various places, but many of them are pretty old.  I also
have a couple of hints which make life a little easier and one pending
problem.

See below for details on our X11 forwarding configuration.

So far the only problem I have encountered is that window size changes
do not get successfully propagated to the compute node.  For example,
if I am editing a file with vi and change the size of my terminal
window vi does not know about the change and the screen starts to get
very confused.

With some exploration it appears that the SIGWINCH signal gets ignored
by the ssh process started by qlogin.  The 'builtin' qlogin support
has specific code to handle SIGWINCH and propagate the new window size
to the compute node.  For some reason I can't figure out everything
except 'builtin' has a lot of signals ignored.

Do other people using X11 forwarding have this problem?

For reference here is my current X11 forwarding configuration
information.  There are a few changes from the standard configuration
given elsewhere.

Create a qlogin wrapper script and put it somewhere systems running
qlogin can access.  I'm using /opt/sge_root/bin/qlogin-wrapper but
other places may be better:

==== start ====
#!/bin/sh
# Helper script for grid engine qlogin commands.

HOST=$1
PORT=$2

exec /usr/bin/ssh -X -Y -o HostKeyAlias=$HOST -p $PORT $HOST
==== end ====

Use 'qconf -mconf' and change the qlogin_command and qlogin_daemon
parameters from 'builtin' to:

qlogin_command               /opt/sge_root/bin/qlogin-wrapper
qlogin_daemon                /usr/sbin/sshd -i

qlogin-wrapper needs to be available on the system running qlogin.

sshd needs to be available on the compute nodes.

xauth needs to be available on the compute node so that sshd can
manipulate X11 authority files.

That is pretty much it and things should work.

Differences from the more common descriptions:

There is no need to test for the DISPLAY environment variable.  ssh
will only forward X11 if DISPLAY is set on the qlogin system.

The '-X' option is needed to forward X11 sessions.  Not clearly
documented elsewhere is that sshd will automatically turn off X11
forwarding after about 20 minutes.

The '-Y' option turns off the 20 minute timeout and turns off some
other X11 SECURITY support.  Study this at your own peril, but I
believe this is not a significant issue.

The '-o HostKeyAlias=$HOST' option causes ssh to just use the hostname
for lookups in the ssh known_hosts files.  Without this you will get
errors/warnings for each new host/port combination that grid engine
uses for the connections.

I have not explored the rlogin_command and rsh_command aspects but
believe the same changes can apply there.

Stuart Barkley
-- 
I've never been lost; I was once bewildered for three days, but never lost!
                                        --  Daniel Boone



More information about the users mailing list