Gnuplot configuraton

Hello,

I am using Ganymede from a Windows desktop via PuTTY. I have loaded the Ganymede gnuplot module. Attempting to run gnuplot in this configuration results in the following errors:
gnuplot: unable to open display ‘’
gnuplot: X11 aborted.
A quick google search tells me that my environmental display variable is not configured correctly. Ordinarily I would expect the lmod to manage this for me, so maybe the problem is with PuTTY?

Thanks in advance,
Patrick

1 Like

In order to run X programs, you need to have an X server running. This can be accomplished in one of two ways.

  1. Setup a local X server and forward the remote application to your local X server (ssh -X). Putty doesn’t support this natively. A popular X server for Windows is mobaxterm: https://mobaxterm.mobatek.net/.
  2. Perhaps a better option is to login graphically to our x2go login node (x2go.ganymede.utdallas.edu). This will allow you to login to a linux desktop instance and run graphical applications. This will provide much better performance than 1.
2 Likes

Thank for your response. I initially tried x2go login node, but was unsure how to proceed after login. Simply trying the same gnuplot commands resulted in the same errors.
However, mobaxterm worked great. I hadn’t used it before, but X11-forwarding is enabled by default. All I had to do was log in, load the modules, and run my commands.
I haven’t noticed any apparent performance deficit using this mobaxterm, but I didn’t get the other method working so I can’t really compare. I also have a very capable local machine.

Thanks again

1 Like

Sorry if I was unclear in my previous reply. In order to login graphically to x2go, you’ll need to download the x2go client from https://wiki.x2go.org/doku.php/download:start.

Patrick,

To be clear, mobaXterm runs the X server on your Windows machine; gnuplot then sends its requests for graphics to it.

X2go assumes you will start an X server on the machine to which you connect and run gnuplot from a graphical desktop running on that machine. Chances are good that no such X server is enabled on your login host.

1 Like

Hey Guys,

Thanks everyone for helping Patrick. Seems like you got it working. I wanted to clarify a bit how X works and how it compares to X2go.

Most people are familiar with products like Remote Desktop from Microsoft (or the RDP protocol in general). With RDP you run an RDP client on your laptop and connect to an RDP server. The desktop from the server is then projected on your laptop which you interact with.

This is similar to how X2go works as Sol alluded to. You download an X2go client from their website (https://wiki.x2go.org/doku.php/download:start) and set it up to connect to the X2go Ganymede login node, x2go.ganymede.utdallas.edu. Your laptop is then running the x2go client and your viewing a desktop that is running on the x2go server.

As Bennet mentioned, the normal login nodes (ganymede.utdallas.edu) do not provide x2go, however, the dedicated x2go servers do. While this client / server relationship for RDP and X2go are analogous, for pure X it is not. How it works (and the associated nomenclature) is different in the pure X case.

When you SSH into ganymede and then launch gnuplot, in that scenario the Xclient is running on ganymede and it is trying to use the X server that runs on your laptop. This is counter intuitive sometimes and more discussion can be found on the XWindow Wikipedia page

So, in your first case, you were using putty to connect to ganymede and then launching gnuplot. Gnuplot tries to connect to your “X Windows Server” running on your windows machine. Windows doesn’t come with X built in and thus why you run MobaXterm.

Once MobaXterm is running (and the X server is as well), you can then launch Xclients from remote machines to render on your Xserver, which is running on your laptop.

Note: tunneling Xclients over SSH has bad performance; if you’re accessing Xclients off campus (over the VPN), we suggest you use X2go

2 Likes