X2Go

Introduction

X2Go is a solution for remotely accessing X11-based desktops and applications more efficiently than using standard X11 forwarding. The X2Go server is available for Linux, and the client is available for all major desktop operating systems.

Users must be authorized before they can use X2Go with SENS servers. Please send email to senshelp@buffalo.edu if you have a need to use the X2Go software with SENS servers.

Installing the X2Go Client

The client component of X2Go should be installed on any device that will be used to access a remote system.

Windows

For University-owned PCs maintained by SENS, the X2Go client can be installed from Software Center.

For personally-owned Pcs, the X2Go client for Windows can be obtained from the X2Go downloads page. The installer contains all components required to use the X2Go client.

macOS

XQuartz is a required dependency of the X2Go client and should be installed if not present. It is installed by default on University-owned systems that are maintained by SENS.

For University-owned Macintosh computers maintained by SENS, the X2Go client can be installed from JAMF Self Service.

For personally-owned Macintosh computers, the X2Go client for macOS can be obtained from the X2Go downloads page.

Ubuntu/Mint Linux

X2Go is available in the default Ubuntu package repositories. To install the X2Go client, run the following command:

$ sudo apt install x2goclient

Fedora Linux

X2Go is available in the default Fedora package repositories. To install the X2Go client, run the following command:

$ sudo yum install x2goclient

CentOS Linux

X2Go is available in EPEL. To enable EPEL repositories, run the following command:

$ sudo yum install epel-release

Once the EPEL repos are enabled, the X2Go client can be installed by running the following command:

$ sudo yum install x2goclient

FreeBSD

The FreeBSD X2Go client can be obtained from this FreshPorts page.

Source Code

The X2Go client source may be found on the X2Go web site.

Connecting

In order to connect to the SENS X2Go Broker, the device must first be connected to UB’s network. This can be done by connecting to UB’s Wi-Fi or Ethernet while on-campus or by connecting to UB’s VPN while off-campus.

Once connected to UB’s network, follow the set of instructions for your operating system to begin a broker session.

Windows Connection

The easiest method for connecting to the broker involves creating a shortcut that can be reused for future connections.

  1. On the desktop, right-click and select New → Shortcut.
  2. Paste the following into the location box (it should be one line): "C:\Program Files (x86)\x2goclient\x2goclient.exe" --broker-url=ssh://lts-broker.sens.buffalo.edu/usr/bin/x2gobroker-ssh
  3. Select Next.
  4. In the name box, enter "SENS X2Go Broker".
  5. Select Finish.

Open this shortcut to connect to the SENS X2Go Broker. This shortcut may be moved or renamed as desired.

macOS Connection

Here is a shortcut application. Opening this application will open the X2Go client with the required options to connect to the SENS X2Go Broker.

Alternatively, open Terminal and enter the following command.

/Applications/x2goclient.app/Contents/MacOS/x2goclient --broker-url=ssh://lts-broker.sens.buffalo.edu/usr/bin/x2gobroker-ssh

Linux and FreeBSD Connection

Open a terminal application and enter the following command.

x2goclient --broker-url=ssh://lts-broker.sens.buffalo.edu/usr/bin/x2gobroker-ssh

Usage

Once it has started, X2Go will prompt for your credentials. Enter your UBITName and password.

When connected to the X2Go broker, several session options will be presented. The following subsections describe each session option.

Full Desktop

This option will start and connect to a full Linux desktop environment running remotely on a SENS server. It may be used similarly to a lab workstation.

This mode offers the highest compatibility with various applications, but it requires the most overhead. All applications launched in this mode are constrained to the desktop window, while other options allow application windows to behave like other windows on the local device.

To end a desktop session, log out of it using the option in the desktop’s menu bar.

Individual Applications

This option will allow a variety of applications to be launched on a SENS server while behaving similarly to the local devices’ windows. Once the connection has been established, a menu of applications can be opened by clicking the Applications… button (which resembles a CD) in the X2Go window.

To end the session, select the Terminate button (which resembles a power icon) in the X2Go window.

⚠️ Due to resource and network contraints, applications may take a minute or two to launch. Please allow some time for the application to launch before attempting to launch it again.

ℹ️ Some applications may have difficulty running in this mode. If that is the case, please try running them again with a Full Desktop connection.

Terminal

This option will open a terminal application on a SENS server and display the terminal as a window on the local device. This terminal may be used to launch both command-line and graphical applications, similar to the terminal on a lab workstation.

To end the session, close all terminal windows.

ℹ️ Some applications may have difficulty running in this mode. If that is the case, please try running them again with a Full Desktop connection.

Suspending and Resuming Sessions

If the connection to the server is lost or the suspend option is used, the X2Go session will enter a suspended state. In a suspended session, applications will continue to run but will have reduced access to system resources until the session is resumed. If system resources are depleted, suspended sessions may be terminated.

Users are limited to having one session at a time. If a user reconnects or attempts to start a new session while one session already exists, they will be prompted to resume or terminate the existing session.

One session can be used to run multiple applications simultaneously. However, we ask users to please be mindful of the limited resources on this system and use no more than is necessary for the work they are currently performing.

FAQ

I’m getting the error "Sessions limit reached", but I’ve never started a session before. How do I fix this?
Your SENS account may not be registered to use the SENS X2Go Broker. Please contact SENS for further assistance.
I’m getting the error “connection failed: attempting to create directory” when I connect. How do I fix this?
This error may occur if your SENS home directory is full. If so, try removing some files from it. The “Terminal” X2Go profile should still work even if your home directory is full. This can be used to delete files in your home directory.
I can log in, but I am unable to start a session. The session information box contains the message “Warning: Protocol mismatch or no X authentication data” or "Info: Please check authorization provided by the remote X application". How do I fix this?
This error may occur if your SENS home directory is full. If so, try removing some files from it.
I’m getting an error that starts with “usage: x2gobroker” and includes “x2gobroker: error: unrecognized arguments” when I connect. Clicking “OK” then causes X2Go to close. How do I fix this?
We are investigating the root cause of this error. To work around this issue, please try one or more of the following mitigations:
  • If the remote desktop or application is working while the error dialog box is open, ignore the error dialog box instead of closing it.
  • Wait a few minutes and try connecting again.
Why won’t an application open when using the “Individual Applications” or “Terminal” option?
Some applications expect a full desktop environment to be present when they are running and won’t work without one. If an application is not working in a standalone mode, please try opening it using the “Full Desktop” option.
Why does every session option say "(suspended)"?
If an X2Go session of one type is suspended, all session options that run on the same servers will indicate that a suspended session is present. Multiple sessions may not be run simultaneously, so the existing session must be either resumed or terminated. For more information, go to the “Suspending and Resuming Sessions” section of this page.
When I try to resume a suspended session, X2Go tells me that the session has been terminated. I also can’t start a new session because of the suspended session. What do I do?
A session that appears to be suspended but is actually terminated will need to be manually removed from the session list. To do this:
  1. Open the session list by selecting a session profile.
  2. Select the session in the list.
  3. Select the Terminate option.

External Links