Using the Remote Desktop

Open a new launcher tab by clicking the + button at the top of the right hand panel, then click the Desktop [↗] icon to launch a new window or tab in your browser that uses NoVNC to reach a remote desktop session running on the node in the cluster.

Note

As of 04/02/2024 there is a bug that may happen sometimes where the session doesn’t connect. Simply clicking the refresh icon in your browser should be enough to get the connection going. This problem is being tracked upstream in the Jupyter Remote Desktop Proxy project.

After launching the remote desktop session, you will be greeted by the XFCE desktop environment. This environment is light on resource usage, while still allowing for many applications to run correctly. Applications can be launched either from the Applications menu in the top left hand corner, or via the quick launch buttons on the dock at the bottom center. The amount of applications installed by default is quite sparse in attempt to keep the size to a minimum. There is however, a web browser (Firefox), a few text editors (emacs, (neo)vim, and VS Code), a file browser, and a terminal emulator.

The remote desktop environment here was envisioned as a way to run graphical applications on cluster resources. This enables students and faculty to leverage larger compute resources than they may have at their desk, while still using the same tool as before. Applications such as PyMol have been successfully tested here, but there are many more to try.

When you’re finished with the remote desktop session you can close the tab in your browser. Closing the tab will not end your session, it will continue running in the background. Clicking the Desktop icon from a launch will allow you to reconnect. You can only have one remote desktop running at a time, no matter how many Jupyter servers you have running. When you want to completely end your desktop session, you must shutdown the Jupyter server that it is running in.

There are a few things to be mindful of, so a few tips and tricks follow…

Copy and Paste

Click the Remote Clipboard button in the top right to expand the clipboard text area from menu bar. Now you can copy or paste to the text entry field. Please note: Ctrl + C and Ctrl + V may or may not work on the remote host depending on the situation or application, which is why the alternatives are suggested. Detailed instructions follow below for each action.

Copy

The easy way…

Select the text you want to copy on the remote side. It will automatically appear in the text entry field [3] as described above. This works in the XFCE Terminal and the Firefox web browser, but may not work in all cases.

If the easy way isn’t working…

To copy from the remote session, select your text on the screen and use one of a few methods to copy it:

Ctrl + Shift + C

Ctrl + Insert

Right-Click mouse, select Copy

It should now appear in the text entry field [3] as described above.

Paste

To paste to the remote session, input your text into the field, then click the Remote Clipboard button to close the text field. This will sync the data across to the remote side. To paste in the remote side, it will be one of a few keyboard shortcuts, depending on where you are trying to paste.

Ctrl + Shift + V

Ctrl + Shift + Insert

Right-Click mouse, select Paste

Downloading Files with the browser

Be sure to set the download path, or ensure you have space in your home directory. If you’re trying to download a huge dataset it can fill up your home directory quota and cause problems. You can set the path where to download to a location under your research or project directory by clicking the hamburger menu (☰) ‣ Settings, then scroll down to the Files and Applications section, which should have a Downloads section, under which there are two options:

  • Save files to

    Clicking the Browse… button will open file selection window which will let you browse to either your space under /cluster/research-groups/$PI or /cluster/academic/projects/$PROJECT. Choose the appropriate location where you have additional storage space.

  • Always ask to you where to save files

    Check this option will just prompt you every time where to save your downloads. Choose this if you occasionally want files to go somewhere else, but most of the time are fine keeping them in your ~/Downloads directory.

If you’re worried about your disk usage or how much space you have remaining, you can check in a terminal with df -h.

GPU Acceleration

If you pick a GPU from server start screen it will be used for graphical acceleration on remote desktop. This is implemented using the VirtualGL library, which may or may not cause problems. The VirtualGL documentation describes many workarounds that may be used to try and correct the issues. If ultimately they cannot be worked around, you may need to specify 0 GPUs when starting the Remote Desktop instance. You can still start another Jupyter server instance with a GPU if you need to do some GPU compute (i.e. CUDA). PyTorch is one of the uses that is known not to work by default under VirtualGL, but there are workarounds listed in the documentation. You can also run GPU accelerated PyTorch in the Default environment without issue.