While the most common way to interact with a computing cluster such as Firebird is through the command line and batch scripts, from time to time it is useful to run programs that have a GUI (e.g., Stata, MATLAB, etc.), such as when something needs to be visualized or when it's easier to proceed through an analysis interactively. In addition, using certain programs graphically can be easier for users who might be less comfortable working in a Linux command-line environment, while still providing the greater resources available on the cluster.
It is possible to run GUI applications on both Windows and Mac systems, as well as through any web browser.
Mac and Windows
On Windows and Mac systems, displaying graphics from a remote system requires X11 forwarding, which essentially sends the graphics from the remote system back to your local system in order to actually render them. Because this relies largely on software to render the graphics, graphical performance usually will be degraded compared with running the same application locally, but the actual analyses and processing happen on the server and will often be more performant than a local system.
Mac
In order to support X11 graphical applications on a Mac, download and install XQuartz. Note that this will necessitate a reboot. Following installation, XQuartz will launch automatically when needed.
The second requirement is to enable X11 to be forwarded over SSH. This is accomplished by using the -Y
flag when connecting to Firebird via SSH:
ssh -Y username@firebird.swarthmore.edu
Windows
On Windows, there are two primary options to support X11, depending on the program used to connect to Firebird (PuTTY or MobaXterm).
PuTTY
/wiki/spaces/ACADTECH/pages/20909329 users should download and install XMing, and then configure PuTTY to connect the two:
Download Xming and install
Start Xming by running the XLaunch program and configure
At the Display settings dialog box, select Multiple windows and set the Display number as 0
Accept the default settings for everything else
Start PuTTY and configure SSH compression and "X11 forwarding"
Connection → SSH → Check "Enable compression"
Connection → SSH → X11 → Check "Enable X11 forwarding"
Connect to Firebird
MobaXterm
/wiki/spaces/ACADTECH/pages/20909329 comes with a built-in X11 server and automatically launches it when connecting via SSH. Nothing further needs to be done to support GUI applications.
Connecting to a compute node
In general, users must connect to a compute node to run applications or code; it is not typically permitted to run any application, including those requiring a GUI, from the login/head node. When creating an interactive session, users must specify the --x11
flag to enable graphics to display, as shown in this example:
salloc -t 60 --cpus-per-task=1 --mem-per-cpu=32gb --partition=interactive --x11
Testing X11
Regardless of which operating system and program is used to connect to Firebird, the best way to test whether X11 forwarding is working on your local system is to launch a graphical application, the simplest of which is xclock
, which displays a basic clock face.
xclock &
Web Browser / Open OnDemand
It is also possible to launch graphical applications through an interactive desktop provided through Open OnDemand, and indeed the graphical performance will be dramatically faster than launching the application from your local system using X11.