X2go guide for Linux distributions

x2go is a Linux remote desktop framework, using the back end “NX” (Not X-Windows”) framework for efficient transmission of graphics over modest speed broadband networks. It is documented at:

http://wiki.x2go.org/doku.php

It is similar to VNC but it is inherently more secure because with x2go, traffic is tunnelled over SSH by default.

One wrinkle here in DoC is that you cannot, from home, directly ssh to a lab Linux PC at the Department of Computing. Instead, you must go via one of the DoC shell servers (currently shell[1..5].doc.ic.ac.uk, if they get overloaded we’ll consider adding more later). We’ll explain how to do this below.

x2goserver has been installed on DoC's batch servers (and  DoC Lab PCs):

potoo01.doc.ic.ac.uk

potoo02.doc.ic.ac.uk

On your home Linux PC, run ‘x2goclient’, installing it if necessary:

sudo apt-get install -y x2goclient

Launch the installed x2goclient and create a New Session with the following details:

  • the Host = the fully qualified host name of an x2go server, eg. potoo01.doc.ic.ac.uk
  • Login = your college login
  • SSH port = 22.
  • Select the ”Use proxy server for SSH connection’ check-box.
  • Next, choose a shell server, let’s say shell5.doc.ic.ac.uk, and put that in the Proxy server pane.
  • Select the ‘Same login as on X2Go Server’ and ‘Same password as on X2Go Server’ check-boxes.
  • For ‘Session Type’, chose ‘xfce’ or ‘Custom desktop’ then ‘vtwm’ (say), or even ‘Single Application’ and enter the pathname of that chosen application, eg. /usr/bin/xterm. Do not choose ‘Gnome’ or ‘Unity’ in particular: there are known compatibility issues with these session types.  Generally: Please choose something that will be extremely lightweight, bearing in mind all the extra traffic that’s going to be flowing via the chosen shell server.  /usr/bin/xterm – the lightest possible application is recommended – and then explicitly start whatever application you actually need from that xterm.
  • On the 'Connection' tab, choose a 'Connection Speed' corresponding to the type of network connection that you are using. In most cases, 'ADSL' is the right choice. Choose '4k-png' for the 'Compression'->'Method'.
  • On the ‘Input/Output’ tab, choose a suitable Width and Height for the session – 1024 and 768, for example.
  • Under the ‘Media’ tab, untick the ‘Enable sound support’ and ‘Client side printing support’ check-boxes.
  • Finally, ‘OK’ the settings.

You can now click on the defined session on the right-hand side then enter your college password, or ssh passphrase, when prompted.  You may be asked to accept the SSH fingerprints of the shell server and target computer if this is the first time you have connected to either.

If everything works, a new window will appear on your home PC’s desktop, running whatever session you asked for, directly running on the remote x2go server at DoC. In this case, choosing /usr/bin/xterm as the single application to run, an xterm window appeared on the home PC that’s actually running on the x2go server.

From that session, you can launch whatever applications you need to run directly on your work PC.

X2go guide for Windows 10/11

Download x2go client for Windows devices.

This guide walks you through connecting to a DoC x2go server using a DoC shell server as a proxy. Usually, you can ssh to a DoC Shell server and run an X11 session, but x2go is more efficient and performs better.

  1. Run x2goclient on your Windows operating system
  2. Click New Session
  3. Fill in the details below:
    1. Session name: choose a name to identify this session
    2. Host: the fully qualified name of the server you want to connect to

      x2goserver has been installed on DoC's batch servers (and DoC Lab PCs):
      potoo01.doc.ic.ac.uk 
      potoo02.doc.ic.ac.uk

    3. Login: your DoC username (do not append @ic.ac.uk)
    4. SSH port: 22
    5. Tick 'Use Proxy server for SSH connection'
    6. Choose SSH
    7. Host: shell[1-5].doc.ic.ac.uk (available servers are shell1.doc.ic.ac.uk, shell2.doc.ic.ac.uk, shell3.doc.ic.ac.uk, shell4.doc.ic.ac.uk, shell5.doc.ic.ac.uk)
    8. Tick 'Same login as on X2go server'
    9. Tick 'Same password as on X2go server'
    10. Under Session Type, choose 'Published applications'
    11. Click OK to create your connection.
  4. Your sessions will be listed on the right of the x2goclient window, click on the session you just created to connect
  5. Enter your DoC login and password and click Ok
  6. You my receive certificate warnings, make sure you choose the right option to proceed, they are usually just that, warnings.
  7. You are connected when Status displays 'Running'
  8. Click the round 'Applications' icon to bring up the list of published applications
  9. Browse through the menu tree categories, Firefox is under Network, for example. Alternatively, use the search box to filter for an application you want to run eg. firefox, chrome, matlab
  10. Click Start to run the application

 Once running, you can suspend the session using the Pause button, and then reconnect at a later time, your session is saved on the remote computer.

X2go guide for Macs

Download x2go client for Mac OS X. The latest supported OS is macOS X 10.13 High Sierra but 10.14 Mojave has been tested and working

IMPORTANT: Ensure you download and install Xquartz - this is required to enable X11 on macOS

Connecting to a DoC x2go server

This guide walks you through connecting to a DoC x2go server using a DoC shell server as a proxy. Usually, you can ssh to a DoC Shell server and run an X11 session, but x2go is more efficient and performs better.

  1. Run x2goclient on your Mac
  2. Click New Session
  3. Fill in the details below:
    1. Session name: choose a name to identify this session
    2. Host: the fully qualified name of the PC you want to connect to, eg edge01.doc.ic.ac.uk

      x2goserver has been installed on DoC's batch servers (and DoC Lab PCs):
      potoo01.doc.ic.ac.uk 
      potoo02.doc.ic.ac.uk

    3. Login: your DoC username (do not append @ic.ac.uk or similar)
    4. SSH port: 22
    5. Tick 'Use Proxy server for SSH connection'
    6. Choose SSH
    7. Host: shell[1-5].doc.ic.ac.uk (available servers are shell1.doc.ic.ac.uk, shell2.doc.ic.ac.uk, shell3.doc.ic.ac.uk, shell4.doc.ic.ac.uk, shell5.doc.ic.ac.uk
    8. Tick 'Same login as on X2go server'
    9. Tick 'Same password as on X2go server'
    10. Under Session Type, choose 'Published applications'
    11. Click OK to create your connection.
  4. Your sessions will be listed on the right of the x2goclient window, click on the session you just created to connect
  5. Enter your DoC login and password and click Ok
  6. You my receive certificate warnings, make sure you choose the right option to proceed, they are usually just that, warnings.
  7. You are connected when Status displays 'Running'
  8. Click the round 'Applications' icon to bring up the list of published applications
  9. Browse through the menu tree categories, Firefox is under Network, for example. Alternatively, use the search box to filter for an application you want to run eg. firefox, chrome, matlab
  10. Click Start to run the application

 Once running, you can suspend the session using the Pause button, and then reconnect at a later time, your session is saved on the remote computer.