Zend certified PHP/Magento developer

Setting up an X-window display on a remote headless system that doesn’t have X installed

I have an application I want to run on HPC (using a BASH script) that needs an X display, or else it errors out. Since this is an HPC application, the client itself does not have an installation of X windows (if you look in /usr/bin there aren’t any X executables in there). I do not have su or sudo access to any of the applicable systems, and do not want to try to get approval for adding more software to get what I need done.

I would prefer to have an X-server running on the compute nodes, but since I don’t have any X-server tools available on the compute nodes it seems like I have no choice but to run a virtual X-server on a login node and point the DISPLAY variable on the compute node to the login node. The login nodes do have Xvfb installed, so theoretically this should be possible.

The trouble comes in, that I can’t figure out how to set up the systems to make this work. I try:

[uname@loginnode ~]$ Xvfb :10001 -screen 0 1024x768x16 -listen tcp &

Followed by interactively running a job on a compute node, where I try:

[uname@computenode ~]$ export DISPLAY=loginnode:10001
[uname@computenode ~]$ xterm
xterm: Xt error: Can't open display: loginnode:10001

Thinking I would be clever, I tried running an interactive job with X-window forwarding, to see how the automated system sets itself up. Done this way, DISPLAY is set to localhost:50, which I assume means there’s some port forwarding magic going on that I need to make my own X-window trick work. However, if on the compute node I run

ssh -L 16001:loginnode:16001 uname@loginnode.domain.com
export DISPLAY=localhost:10001

it’s still no dice.