X2Go is a solution for remotely accessing Linux 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 contact SENShelp if you have a need to use the X2Go software with SENS servers.
The client component of X2Go should be installed on any device that will be used to access a remote system.
SENS has created a launcher application that will ensure X2Go will run correctly, whether connecting to the SENS X2Go Broker or another device. The following instructions still need to be followed to install XQuartz and the X2Go client.
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.
X2Go is available in the default Ubuntu package repositories. To install the X2Go client, run the following command:
$ sudo apt install x2goclient
X2Go is available in the default Fedora package repositories. To install the X2Go client, run the following command:
$ sudo yum install x2goclient
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
The FreeBSD X2Go client can be obtained from this FreshPorts page.
The X2Go client source may be found on the X2Go web site.
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.
The easiest method for connecting to the broker involves creating a shortcut that can be reused for future connections.
Open this shortcut to connect to the SENS X2Go Broker. This shortcut may be moved or renamed as desired.
As of macOS 26.4, X2Go 4.1.2.2 will not work correctly by default. SENS has created a launcher application that will ensure X2Go will run correctly, whether connecting to the SENS X2Go Broker or another device.
Open a terminal application and enter the following command.
$ x2goclient --broker-url=ssh://lts-broker.sens.buffalo.edu/usr/bin/x2gobroker-ssh
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.
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.
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.
Warning: Due to resource and network constraints, applications may take a minute or two to launch. Please allow some time for the application to launch before attempting to launch it again.
Note: Some applications may have difficulty running in this mode. If that is the case, please try running them again with a Full Desktop connection.
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.
Note: Some applications may have difficulty running in this mode. If that is the case, please try running them again with a Full Desktop connection.
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.
You may not have a SENS account. Please use the account registration form to request an account, then contact SENS to request usage of the X2Go Broker. (Please mention your SENS account status and the class your work is for.)
Your SENS account may not be registered to use the SENS X2Go Broker. Please contact SENS for further assistance.
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.
This occurs if the X2Go client is unable to save the host key for future reference. Ensure that X2Go is able to write the following file:
This error may occur if your SENS home directory is full. If so, try removing some files from it.
We are investigating the root cause of this error. To work around this issue, please try one or more of the following mitigations:
macOS 15 Sequoia introduced a local network permission that the X2Go client is unable to ask for. To work around this, open the X2Go client through an app that does have the permission granted, such as Terminal or iTerm2. The command line path will usually be something like /Applications/x2goclient.app/Contents/MacOS/x2goclient.
The X2Go client sometimes has problems with resizing windows on macOS 26 Tahoe, particularly when using maximize buttons. We recommend avoiding the maximize buttons on X2Go or applications running inside of an X2Go session. If drawing problems occur, resizing windows by dragging their borders and waiting a few seconds will often fix this problem, though it may take a few tries.
If the client is opened in a Wayland desktop environment, it may be erroneously opened as a Wayland program instead of an X11 program. To force it to run as an X11 app, run a command like the following in a terminal: QT_QPA_PLATFORM=xcb /usr/bin/x2goclient
X2Go may not set up the keyboard correctly when it first connects to a system, but it may fix itself if the session is suspended and resumed. To suspend a session, select the session window's close ("X") button or select the Suspend ("pause") button on the X2Go Client window. When reconnecting to the system, X2Go will either automatically resume the session or list suspended sessions. If the latter occurs, select the session and select "Resume".
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.
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.
A session that appears to be suspended but is actually terminated will need to be manually removed from the session list. To do this:
X2Go does not handle all keyboard layouts correctly. Try the following steps to resolve the issue:
As of macOS 26.4, X2Go 4.1.2.2 will not work correctly by default. SENS has created a launcher application that will ensure X2Go will run correctly, whether connecting to the SENS X2Go Broker or another device.
SENS has also written a deeper explanation of this issue to assist with creating other solutions.