If, instead, you have the X2GoClient window on your screen even with an active connection (noticeable by the two X2Go-related items in your taskbar, as highlighted by the two red arrows in the screenshot), click on the small folder icon, that's the left of the three icons Folder, Pause, Power marked in the red box in the screenshot. The latest version of X2Go is 4.1 on Mac Informer. It is a perfect match for Remote Computing in the System Tools category. The app is developed by Oleksandr Shneyder.
X2Go Bug report logs - #973 X2Go Client Build Issue(s) on Mac Package: x2goclient; Maintainer for x2goclient is X2Go Developers [email protected]; Source for x2goclient is src:x2goclient. ICT-palvelut / ICT Services 24.3.2020 1 X2go client for connection from Mac to Kataja-servers If you have not Xquartz installed, you need to install it before you can connect X2go.
(Redirected from X2go)
X2Go enables to access a graphical desktop of a computer over the network. The protocol is tunneled through the Secure Shell protocol, so it is encrypted.
Note: X2Go is not compatible with all desktop environments. You can check X2Go desktop environment compatibility first. Compatibility is especially important if you want to connect to an existing Xorg session.
- 2Server side
- 3Client side
- 4Troubleshooting
- 4.1The desktop environment does not start
Installation
Two parts are available in official repositories. They can be installed with the following packages:
- x2goserver - X2Go server
- x2goclient - X2Go client based on Qt5
Server side
Configure Secure Shell daemon
X2Go uses Secure Shell in order to work, so you need to configure sshd daemon to allow X11 forwarding. Follow the instructions at OpenSSH#X11 forwarding and OpenSSH#Daemon management.
Check fuse kernel module is loaded
In order for the server to be able to access files on the client computer, the fuse module is needed. One can check that
lsmod | grep fuse
returns a match, otherwise load the fuse
kernel module.Setup SQLite database
Run the following command on the server to initialize the SQLite database (which is required in order for the x2go server to work):
Control published applications
X2Go can publish the installed applications in a menu to the client.This is controlled by the files in
/etc/x2go/applications/
. This location however is not created by default and can be created by creating a symlink to /usr/share/applications/
.Alternatively instead of creating a symlink one could also create a folder and link only the desired applications instead.See [1] for more information.
Start X2Go server daemon
Now all you need to do is start the system
x2goserver.service
.Client side
Run X2Go Client on the client computer, the one that wants to access the server:
For the list of available options, see x2goclient(1).
Note: Make sure the client computer can open a SSH session to the server by checking from the client that
ssh username@host
is successful.You can now create several sessions, which then appear on the right side and can be selected by a mouse click. Each entry consists of your username, hostname, IP, and port for SSH connection. Furthermore you can define several speed profiles (coming from modem up to LAN) and the desktop environment you want to start remotely.
Access the local desktop
To access the local desktop, the one currently running on the server rather than a new one, one can choose the option 'Connection to local desktop' in 'session type' in the X2Go Client as long as the users match, if it is user foo accessing the session of user foo.
However to access the local desktop of a different user, one needs to install x2godesktopsharingAUR and launch
x2godesktopsharing
.Exchange data between client and server (desktop)
On the X2Go client (e.g. laptop) local directories could be shared. The server will use fuse and SSHFS to access this directory and mount it to a subdirectory media of your home directory on the server. This enables you to have access to laptop data on your server or to exchange files. It is also possible to mount these shares automatically at each session start.
Leave a session temporarily
Another special feature of X2Go is the possibility of suspending a session. This means you can leave a session on one client and reopen it even from another client at the same point. This can be used to to start a session in the LAN and to reopen it later on a laptop. The session data are stored and administered in a SQLite database on the server in the meanwhile. The state of the sessions is protocolled by a process named x2gocleansessions.
Troubleshooting
The desktop environment does not start
Local session prevents X2Go new session
It happens that when a desktop session already runs locally and X2Go tries to start a new one, it fails.This is typically an issue related to D-Bus, see [2] for details.
If D-Bus fails to start, try using a Custom desktop command instead of the default session type. For the command, use the desktop starter as an option of
dbus-launch
, for example dbus-launch startxfce4
. This is a way to launch a session bus instance, set the appropriate environment variables so that the new session can find the bus.Path issue
It may be that the desktop environment's executable, startkde, startgnome or startxfce4 is not in the
$PATH
when logging in using SSH. In this case, do not simply choose the defaults of KDE, Gnome or XFCE but use the full paths to the executable, for example /usr/bin/startxfce4
. You can also start openbox or another window manager.You should be asked for your server's password and user name, now and after login you will see the X2Go logo for a short time, and the desktop.No selection screen in x2goclient
X2go For Mac Alternative
A regression in iproute2 causes ss to show no result when specifying the
-u
flag, as done in /usr/bin/x2golistdesktops
. [3]See [4], [5] for more information.
Sessions do not logoff correctly
Due to this bug the X2Go sessions might not logoff correctly. The script that initiates the session spits out many log lines that might confuse X2go. A simple workarround is to create a custom session script and redirect the log output either to a file or to
/dev/null
and then point your X2Go-client to this custom script.Here is a sample script for an XFCE session:
Notification area disappeared
If you log in, but the notification area is missing, you can use exactly the same fix as for #Local session prevents X2Go new session.
Shared folders do not mount (Windows Clients)
The ssh-daemon used by the X2go windows client uses depreceated ssh-dss keys by default and because Arch does not accept them your shared folders will not mount. Check out this bug report for more information.
This can be solved on the windows side by generating different type of key:
And simply replace
c:UsersUser.x2goetcssh_host_dsa_key
and c:UsersUser.x2goetcssh_host_dsa_key.pub
with the newly generated key files.Other workarrounds from [6] might help, too.
Workaround for failing compositing window manager for remote session
This article or section needs language, wiki syntax or style improvements. See Help:Style for reference.
Reason:please use the first argument of the template to provide a brief explanation. (Discuss in Talk:X2Go#)
This is useful for situations, when the computer running x2goserver is used also for local sessions with e.g. compiz as the window manager. For remote connections with x2goclient, compiz fails to load and metacity should be used instead. The following is for GNOME, but could be modified for other desktop environments. (Getting compiz ready is not part of this how-to.)
Create /usr/local/share/applications/gnome-wm-test.desktop:
Create script /usr/local/bin/gnome-wm-test.sh:
Modify the following gconf key to start the session with gnome-wm-test window manager:
/bin/bash: No such file or directory when connect (or what ever shell you use)
In you ssh configuration, if you chroot a user, this user need to have his own /bin directory inside his chrooted directory. If not, you will not be able to connect.
X2Go client: Cannot connect to remote X2Go server from local Wayland session: 'The connection with the remote server was shut down'
X2Go client launches as expected from a local Wayland session but attempting to connect to a remote X2Go server fails. This problem is usually caused by Qt on Wayland.
Follow the instructions in Desktop entries#Modify environment variables and change the lines starting with
to
X2Go client: Cannot connect to xyz:22 - Could not apply options
x2go client can not parse custom user ssh config files with tokens.
This ssh config
will result in connection failure with debug output:
This ssh config works:
X2Go server: localhost ssh tunnel on server fails with sshd error: error: connect_to localhost port xyz: failed.
X2go For Mac Download
X2Go server requires IPv4 for localhost ssh tunnel on the server. If you configure the sshd server to use IPv6 only
X2Go client connections will fail.
See also
Retrieved from 'https://wiki.archlinux.org/index.php?title=X2Go&oldid=637981'
The author selected Software in the Public Interest (SPI) to receive a donation as part of the Write for DOnations program.
Introduction
Usually, Linux-based servers don’t come with a graphical user interface (GUI) preinstalled. Whenever you want to run GUI applications on your instance, the typical solution is to employ Virtual Network Computing (VNC). Unfortunately, VNC is notoriously sluggish, insecure by default, and requires a lot of manual configuration to get up and running.
By contrast, X2Go provides a working “cloud desktop,” complete with all the advantages of an always-online, remotely-accessible, and easily-scalable computing system with a very fast network. It is also more responsive and more secure than many VNC solutions. In this tutorial, you’ll use X2Go to create a Debian 10 XFCE desktop environment that you can access remotely. This “cloud desktop” will include the exact same utilities that you would obtain had you installed Debian 10 and the XFCE environment on your personal computer.
The setup described in this tutorial is useful when:
X2go For Mac Computers
- You need access to a Linux-based operating system, complete with a desktop environment, but can’t install it on your personal computer.
- You use multiple devices in multiple locations and would like to have a consistent work environment with the same tools, same look, same files, and same performance.
- Your Internet service provider gives you very little bandwidth, but you need access to tens or hundreds of gigabytes of data.
- Long-running jobs make your local computer unavailable for hours or days. Imagine that you have to compile a very large project, and it will take 8 hours on your laptop. You won’t be able to watch movies or do anything else very resource-intensive while your project compiles. But if you run such jobs on your server, now your computer is free to perform other tasks.
- You’re working with a team, and it benefits them to have a common computer that they can access in order to collaborate on a project.
Prerequisites
Before starting this tutorial, you’ll need:
- A Debian 10 x64 instance with 2GB of RAM or more. 2GB is minimal and it’s recommended to use a server with 4GB or more if you have memory-hungry applications you plan to run. You can use a DigitalOcean Droplet if you like.
- A user with
sudo
privileges and an SSH key. Follow this guide to get started: Initial Server Setup with Debian 10. Make sure you complete Step 4 and configure your firewall to restrict all connections except for OpenSSH.
Step 1 — Installing the Desktop Environment
With your server up and your firewall configured, you are now ready to install the graphical environment for the X2Go server.
In this tutorial, you are installing XFCE as the desktop environment. XFCE doesn’t use fancy graphical effects like compositing, which makes it more compatible with X2Go and allows it to optimize screen updates. For reference,
LXDE
and MATE
(with compositing disabled) also work fine but you’ll have to change the command in this tutorial where you install the desktop environment. For example, instead of sudo apt-get install xfce4
you would type sudo apt-get install lxde
.There are two ways to easily install XFCE, but you only need to choose one—either the Minimal Desktop Environment or the Full Desktop Environment.
![X2go For Mac X2go For Mac](https://habrastorage.org/files/9df/5bd/c1b/9df5bdc1bf144c2c920d1efd3f10929f.jpg)
Full Desktop Environment: Recommended. If you don’t want to handpick every component you need and would rather have a default set of packages, like a word processor, web browser, email client, and other accessories pre-installed, then you can choose
task-xfce-desktop
.Install and configure the Full Desktop Environment. This is similar to what you would get if you installed Debian from a bootable DVD/USB memory stick to your local PC:
Minimal Desktop Environment: Alternately, if you want to install a small, core set of packages and then build on top of them by manually adding whatever you need afterward, you can use the
xfce4
metapackage.A metapackage doesn’t contain software of its own, it just depends on other packages to be installed, allowing for an entire collection of packages to be installed at once without having to type each package name individually at the command line.
Install
xfce4
and all of the additional dependencies needed to support it:Now that your graphical environment is installed, you will establish a way to view it remotely.
Step 2 — Installing X2Go on the Server
X2Go comes with two main components: the server, which starts and manages the graphical session on the remote machine, and the client, which you install on your local computer to view and control the remote desktop or application.
In previous versions of Debian,
x2goserver
wasn’t included in the default repositories, so you’d have to follow steps like these to get the software package. We’re leaving the link here, just for reference, in case the package gets dropped in future versions of Debian. Fortunately, Debian 10, codenamed Buster, includes the package you need in its default repositories, so the installation is a bit easier.To install X2Go on your server, type the following command:
At this point, no further setup is required on your server. However, keep in mind that since SSH password authentication is disabled, for increased security, you’ll need to have your SSH private key available on any machine that you want to log in from. This will be the case if you followed the recommendation of setting up SSH keys in the Initial Server Setup with Debian 10 tutorial listed in the prerequisites. If you didn’t, you can still log in with a password, but make sure you choose a strong one.
Remember that if you run out of RAM, some applications might be abruptly terminated by the Linux kernel, and then you could lose work in progress. If you are using a DigitalOcean Droplet and you notice that your programs require more RAM, you can temporarily power off your Droplet and upgrade (resize) to one with more memory.
You are now done setting up the server and you can type
exit
or close the terminal window. The rest of the steps will focus on configuring the client on your local machine.Step 3 — Installing the X2Go Client Locally
X2Go is ready to use out of the box. If you’re using Windows or Mac on your local machine, you can download the X2Go client software here. If you’re using Debian or Ubuntu you can install the X2Go client with this command on your local machine:
After downloading the software you are ready to install it. Open the installer and select your preferred language. Now agree to the license and let the wizard guide you through the remaining steps. Normally, there shouldn’t be any reason to change the pre-filled, default values in these steps.
X2Go works well out of the box but it is also highly customizable. If you’d like additional information, visit X2Go’s official documentation.
Now that the desktop client is installed, you can configure its settings and connect to the X2Go server to use your remote XFCE desktop.
Step 4 — Connecting To the Remote Desktop
When you first open the X2Go client, the following window will appear. If it doesn’t, click Session in the top-left menu and then select New session ….
In the Session name field, enter something to help differentiate between servers. This can be particularly useful if you plan on connecting to multiple machines.
Enter your server’s IP address or hostname in the Host field under Server.
Enter the username you used for your SSH connection in the Login field.
And, since you installed XFCE in Step Two, choose
XFCE
as your Session type.Finally, because you are connecting to the server with SSH keys, click the folder icon next to Use RSA/DSA key for ssh connection and browse to your private key. If you didn’t opt to use the more secure SSH keys, just leave this empty and the X2Go client will ask for a password each time you log in.
The rest of the default settings will suffice for now, but as you get more familiar with the software, you can fine tune the client based on your individual preferences.
After pressing the OK button, you can start your graphical session by clicking the white box that includes your session’s name on the top-right side of the box.
If you are running OS X on your local machine, you may be prompted to install xquartz, which is required to run X11. If so, follow the instructions to install it now.
In a few seconds, your remote desktop will be displayed and you can start interacting with it. During your first login, XFCE will ask if you want to Use default config or One empty panel. The first option will create a rectangular panel docked at the bottom of the screen, containing a few useful application shortcuts (e.g. a file manager, a terminal emulator, a browser, etc.). This option will also add a top panel to the desktop that includes utilities like an application launcher, a clock, a shutdown menu, and more.
Unless you’re already familiar with XFCE, opting for an empty panel can be more complicated because you’ll be starting from scratch. There will be no taskbar, no clock, and no pre-configured start menu; it will be up to you to add everything to an empty panel on your own.
Additionally, on Windows and Linux-based operating systems, there are a few useful keyboard shortcuts you can use for a better experience:
CTRL+ALT+F
will toggle full-screen mode on and off. Working in full-screen mode can feel more like a local desktop experience. Plus, other keyboard shortcuts will be grabbed by the remote OS instead of the local one.CTRL+ALT+M
will minimize the remote view, even if you are in full-screen modeCTRL+ALT+T
will disconnect from the session but leave the GUI running on the server. It’s just a quick way of disconnecting without logging off or closing applications on the server. The same will happen if you click the window’s close button.Lastly, there are two ways you can end the remote session and close all of the graphical programs running in it. You can log off remotely from XFCE’s start menu, or you can click the button marked with a circle and a small line (like a power/standby icon) in the bottom-right corner of the main portion of the X2Go screen.
The first method is cleaner but may leave programs like session managing software running. The second method will close everything but may do so forcefully if a process can’t cleanly exit. In either case, be sure to save your work before proceeding.
And lastly, although it’s not required, let’s go into XFCE’s control panel, navigate to power settings and disable all standby features. If you don’t use the desktop for a while, XFCE will try to trigger a standby. Although the server normally won’t do anything when it receives this request, it’s better to avoid any unforeseen behaviors altogether.
By going to the Applications menu, then Settings, you can open Power Manager.
![X2go mac keyboard mapping X2go mac keyboard mapping](/uploads/1/3/4/7/134730834/162603980.png)
In this application, navigate to the System tab and drag the When inactive for slider all the way to the left. You should now see the text Never under this slider, which means XFCE won’t try to put the system in standby after it’s inactive for a while.
You have now successfully accessed and configured your remote desktop.
Conclusion
X2go For Mac Installer
In this tutorial you used X2Go to create a robust and remote GUI-environment for the Debian operating system. Here are a few additional ideas about how to use this desktop. You could centralize your development work by creating a git repository, installing an IDE/code editor like NetBeans or Eclipse, or configuring a web server for testing web applications. You could also enhance your remote desktop with a good backup scheme to make sure that your work environment and important data are safely preserved in case something ever goes wrong. With DigitalOcean, you can also snapshot your Droplets when you’re happy with a certain setup. This way, you can test risky changes and always come back to a known good state in case you break something.
X2go Mac Not Working
If you’d like to learn more, visit X2Go’s official documentation website.