May 12, 2021

Fedora - install and setup X2Go

I decided to try this on my Fedora 33 system at home and it did not work. It does work with the client on Fedora 33 and server on Fedora 32 with an XFCE session. It also does work on another pair of systems, both running Fedora 33 with an XFCE session.
I don't know why my home system is jynxed.

I got interested in X2go because VNC has some stupid bug when used with XFCE. When you enable VNC for some user, that user can no longer log in at the console! X2go does not seem to have this problem.

Installing it

su
dnf install x2goserver
This pulls in a number of other packages (a bunch of perl things), including
x2goagent
x2goserver-common
x2goserver-xsession
There are a bunch of other packages, but we are ignoring them for now.
x2goagent.x86_64
x2goclient.x86_64
x2goserver.x86_64
x2goserver-common.noarch
x2goserver-xsession.noarch
cups-x2go.noarch
python-x2go-doc.noarch
python3-x2go.noarch
x2godesktopsharing.x86_64
x2goserver-desktopsharing.x86_64
x2goserver-fmbindings.x86_64
x2goserver-printing.x86_64

Setup

You need to have an ssh server (probably running on the standard port 22) on the same machine that runs the x2go server. For testing purposes on my home machine, it was simple enough to start one via:
su
service sshd start
-or- systemctl start sshd.service
The FAQ states that sshd is the only service that is required to support remote login. Here are the exact words clipped from the FAQ:

Strictly speaking, the only daemon/service that needs to be running is the SSH daemon. If users can connect to your server via an SSH client, then they should be able to connect via X2Go Client or PyHoca-GUI/PyHoca-CLI.

Depending on your Linux distribution, there may be an X2Go server init script called x2goserver or a systemd service called x2gocleansessions.service. It is highly recommended that this service be enabled. It handles session cleanup, but does not provide X2Go “login functionality”. You must not assume that the service is running correctly if logins via any of the X2Go client applications are possible. It is also *not* a prerequisite for new X2Go sessions.

My Fedora system does have the x2gocleansessions.service files:
locate x2gocleansessions
/etc/systemd/system/multi-user.target.wants/x2gocleansessions.service
/usr/lib/systemd/system/x2gocleansessions.service
/usr/sbin/x2gocleansessions

systemctl status x2gocleansessions.service
● x2gocleansessions.service - X2Go session cleanup
     Loaded: loaded (/usr/lib/systemd/system/x2gocleansessions.service; enabled>
     Active: active (running) since Mon 2021-05-10 12:23:29 MST; 2 days ago
   Main PID: 1042 (x2gocleansessio)
      Tasks: 1 (limit: 38435)
     Memory: 22.7M
     CGroup: /system.slice/x2gocleansessions.service
             └─1042 /usr/bin/perl /usr/sbin/x2gocleansessions

Clients

There are windows (and Mac) clients, and you can install them from this page: I install the linux client on the same machine that runs the server, via:
su
dnf install x2goclient
I download the Windows (mswin) client and get a 54 megabyte "exe" file. This is version 4.1.2.2 -- I give my admin password, answer various questions, take all the defaults. Now there is an "X2Go Client" icon on my desktop and when I click it I get the usual X2Go dialog and session window on standby. Windows defender brings a popup about sshd, and I enable activity on my local network (it was already enabled on public networks). It also brings up a popup for "pulseaudio" and I deny that (I could care less about sound via X2Go).

I fill out the X2Go dialog and select XFCE rather than KDE (are there really people still using KDE, and why is that the default, I would expect Gnome -- heaven forbid).

Tweaks

You may get an incessant series of popups that say, "Authentication is required to access the PC/SC daemon". I just nuke the PC/SC (smart card) daemon as per this link: Another irritation is the darned dnf-dragora messages. This infernal nuisance can easily be gotten rid of via:
su
dnf -y erase dnfdragora
And perhaps you want a bigger window than the default 800 by 600 that x2go gives you. This is easy to set up when you first define the "session" in the client. Go to the Input/Output tab and supply something you like, such as 1920 by 1200.

Trouble

There is always trouble. On my home system (running Fedora 33 and where I first decided to test X2Go), I get a popup (using both a windows client and a linux client) that says "Connection failed. Cannot open display "default display".

Google is no help. At this point this is a total show stopper and all I can say is that X2Go is a useless piece of crap - on that system anyway. The documentation is also very thin, so either you get lucky and it works, or you go back to VNC, which has its own problems.


Have any comments? Questions? Drop me a line!

Adventures in Computing / tom@mmto.org