Last modified:June 23, 2020

X2Go remote desktop

You may use remote desktop for fast and secure access to graphical applications.

install

download and install the X2go client from https://wiki.x2go.org/doku.php/download:start

configure

  1. Open the X2Go client program

  2. If you use Mac OSX, you may be prompted you to install X11 (10.7 and earlier) or XQuartz (10.8 and later). Proceed to install either package.

  3. Create a new session

    I recommend creating an X2Go session for multiple servers, so you can easily log into a server with the most resources available.

    • If a ‘Session Preferences’ window doesn’t appear, then select Session -> New Session from the file menu

    • Session Name: Anything goes. I use the server’s host name, e.g. nx4 (see below)

    • Host: Choose from a host in the table below. I recommend choosing a host with the fewest Users.

      host load
    • Login: Type your username on the Neuro cluster

    • Session Type: Use the drop-down menu to select ‘XFCE’

    click image to see full-scale:

    x2go session

    Optional:

    • Try auto login: If you configured a SSH key, then check the box next to ‘Try auto login (via SSH Agent or default SSH key).

start

  1. First enable 2-step authentication

  2. In the X2go client, there is a session box on the right with a picture of a seal and a menu (hamburger bar). To start a new session, click on the seal. To edit your session preferences, click on the menu button.

    x2go start
  3. Type your password in the field provided.

    x2go password
  4. A new window will open requesting a ‘Verification Code’. Open the Google Authenticator app on your device, and look for the 6 digit code. Type that code into the window requesting the ‘Verification Code’.

    x2go verification

suspend/resume or terminate?

To terminate your session, click the ‘power’ button.

x2go menu

Alternatively, you may resume your X2Go session later (from another computer). This is called ‘suspend’, although your jobs continue to run in the background. To suspend a session, click the ‘pause’ button just to the left of the power button (displayed above), or simply close your laptop.

If you suspended your X2Go session, and start a new X2Go session on a different computer, then your old X2Go session will be terminated automatically.

If you want to resume a X2Go session, but forgot where it’s running, then use the ‘cjobs’ command to locate your x2goagent process:

  1. Log into a Neuro cluster computer with secure shell

  2. Run the ‘cjobs’ command:

    [joe@nx5 ~]$ cjobs

performance

for best performance...

  1. log into the server with the fewest users (table below). You can print this table with the ‘nxload’ command on the Neuro cluster, or bookmark https://www.neuro.berkeley.edu/_images/listsessions.png.

    host load
  2. run no more than 3 CPU-intensive jobs within your remote desktop session

    If jobs within your session use more than 3 processor cores (300% cpu), then those jobs will be restricted to a single CPU core.

    To run multiple jobs simultaneously, use Grid Engine. Grid Engine distributes jobs across the cluster for optimal performance.

  3. avoid secure shell (SSH)

    You may use secure shell to log into another server, but jobs started via secure shell run at low priority. Use Grid Engine to run jobs in parallel; Grid Engine balances the load, so you don’t need to.

  4. Use your local web browser to display the Jupyter Notebook.

If you experience network lag,

  1. In the office, use a wired network connection. Shared wireless networks may cause lag if somebody is transferring data.

  2. Disable backup software on your computer (dropbox, Google drive, Box, etc)

  3. confirm that your (graphics) application uses a graphics processor to render images. The following applications use a graphics processor:
    mango
    Slicer
    mricrogl
    caret
    suma
    afni
    tksurfer
    tkmedit
    tkregister2
    gmatlab*

    If matlab renders images slowly, then precede the matlab command with a ‘g’, for example ‘gmatlab-2014a-spm12’.
    WARNING: do not run gmatlab in a script, because gmatlab will slow down your analysis.

    For a full list of applications that use a graphics processor, run ‘gapp’ from the command line. If your program isn’t listed, then email support@cirl.berkeley.edu.

  4. email support@cirl.berkeley.edu.

    include the following information:

    • nature of problem, e.g. slow screen updates, analysis takes longer to complete, etc
    • name of server, e.g. nx1
    • name of program/application
    • command line used to run program
    • error message

See also

On Windows NoMachine clients, the MATLAB window refresh rate may be slow. For more information, see MATLAB Performance.

troubleshooting

login fails

If you receive an error when logging in via X2Go, then

  1. wait a few minutes. The X2Go state database is refreshed every 5-10 minutes

  2. log into a server with the fewest users

    host load
  3. email support@cirl.berkeley.edu. If you’ve waited a few minutes, and want to resume your session, then email me. Sometimes I can help ;)

fonts

If text is too large or misaligned, then Set Display DPI=100 in the X2Go settings Input/Output tab.
This may be useful for FSL’s Feat application on MacOSX.