Introduction

X11 is (currently) the standard way to implement a graphical display on a Linux / UNIX / Solaris systems.  It is based on the client/server paradigm, with your display being the "server" accepting connections from applications which are the "clients".  The thing that make it relevant to NeCTAR is that the client can be on another machine.  Thus, you can run an X11 server on your desktop / laptop, and then run X11 clients on your NeCTAR virtuals that open windows on your screen.

Of course, this all needs to be done securely.

Configuring X11 over SSH

For starters ... see the end section of https://support.rc.nectar.org.au/docs/accessing-your-instances

Setting up your Workstation

If you have a "desktop" install of Linux or UNIX of almost any flavour or vintage, you should have an X11 server installed and ready to go.  (If you have any doubt, run "echo $DISPLAY".  It should give you the name of the X11 display server; e.g. ":0".)

Setting up your virtual

If you simply want to be able to run some simple X11 applications on your virtual, then installing some core X11 application packages should be sufficient.  For example, on CentOS or Scientific Linux you can run:

sudo yum install xterm x11-apps

on Fedora, you can run:

sudo yum install xterm xorg-x11-apps xauth

on Ubuntu, you can run:

sudo apt-get install xterm x11-apps

On the other hand, some "large scale" X11 applications implicitly depend on having a various desktop libraries installed.  (For example, MatLab does.)  To support this, the simple approach is to install (say) the Gnome package group.  (The complicated approach is to attempt to reverse engineer the implicit dependencies at a fine-grained level ... which is difficult and time consuming.).

The downside of a desktop install is that it takes some time, and occupies a significant amount of diskspace.  (And you most likely only need a tiny proportion of the stuff that gets installed.)

As an intermediate, you may be able to get away with installing "xorg-font*" or "xorg*".