X2Go works ok with XFCE4 but the menus at the top are all squished together, and our user likes MATE. He also got KDE to work. Perhaps this is a keyboard setting again causing this? Below are logs, a GDB, stacktrace, let me know if I can provide anything else.

x2goserver-4.1.0.3-5.fc31.x86_64, 5.4.8-200.fc31.x86_64

Jan 13 14:06:11 sobolev /usr/bin/x2gostartagent[192047]: successfully started X2Go Agent session with ID agw-50-1578942369_stDMATE_dp32
Jan 13 14:06:18 sobolev /usr/bin/x2goruncommand[192461]: launching session with Xsession-x2go mechanism, using STARTUP="mate-session"
Jan 13 14:06:18 sobolev /usr/bin/x2goruncommand[192462]: dbus wrapper available as /usr/bin/dbus-run-session
Jan 13 14:06:19 sobolev mate-session[192465]: WARNING: keycode1 not existent
Jan 13 14:06:19 sobolev mate-session[192465]: WARNING: keycode2 not existent
Jan 13 14:06:19 sobolev gnome-keyring-daemon[192776]: couldn't access control socket: /run/user/1201/keyring/control: No such file or directory
Jan 13 14:06:20 sobolev systemd[1]: Starting Hostname Service...
Jan 13 14:06:20 sobolev gnome-keyring-daemon[192776]: The PKCS#11 component was already initialized
Jan 13 14:06:20 sobolev systemd[1]: Started Hostname Service.
Jan 13 14:06:20 sobolev gnome-keyring-daemon[192776]: The Secret Service was already initialized
Jan 13 14:06:20 sobolev gnome-keyring-daemon[192776]: The SSH agent was already initialized
Jan 13 14:06:20 sobolev kernel: traps: x2goagent[192036] trap divide error ip:55662e2da364 sp:7ffe990d1a90 error:0 in nxagent[55662e1eb000+30a000]
Jan 13 14:06:20 sobolev systemd[1]: Started Process Core Dump (PID 192845/UID 0).
Jan 13 14:06:21 sobolev systemd[1]: Started dbus-:1.9-org.freedesktop.problems@6.service.
Jan 13 14:06:21 sobolev python3[192825]: detected unhandled Python exception in '/usr/bin/dnfdragora-updater'
Jan 13 14:06:21 sobolev systemd[3813]: run-user-1201-gvfs.mount: Succeeded.
Jan 13 14:06:21 sobolev kernel: FS-Cache: Duplicate cookie detected
Jan 13 14:06:21 sobolev kernel: FS-Cache: O-cookie c=00000000faefe89e [p=000000008cf48cf8 fl=222 nc=0 na=1]
Jan 13 14:06:21 sobolev kernel: FS-Cache: O-cookie d=00000000e228d53d n=00000000896dcdab
Jan 13 14:06:21 sobolev kernel: FS-Cache: O-key=[10] '040002000801966c4034'
Jan 13 14:06:21 sobolev kernel: FS-Cache: N-cookie c=00000000537a747a [p=000000008cf48cf8 fl=2 nc=0 na=1]
Jan 13 14:06:21 sobolev kernel: FS-Cache: N-cookie d=00000000e228d53d n=000000005a823428
Jan 13 14:06:21 sobolev kernel: FS-Cache: N-key=[10] '040002000801966c4034'
Jan 13 14:06:21 sobolev systemd[32023]: run-user-1201-gvfs.mount: Succeeded.
Jan 13 14:06:21 sobolev systemd[12700]: run-user-1201-gvfs.mount: Succeeded.
Jan 13 14:06:21 sobolev systemd[1]: run-user-1201-gvfs.mount: Succeeded.
Jan 13 14:06:22 sobolev abrt-server[193050]: Deleting problem directory Python3-2020-01-13-14:06:21-192825 (dup of Python3-2020-01-13-08:40:29-122503)
Jan 13 14:06:22 sobolev systemd-logind[3567]: Session 132 logged out. Waiting for processes to exit.
Jan 13 14:06:22 sobolev abrt-notification[193208]: Process 122503 (dnfdragora-updater) of user 1201 encountered an uncaught dbus.exceptions.DBusException exception
Jan 13 14:06:23 sobolev pulseaudio[193026]: Unable to contact D-Bus: org.freedesktop.DBus.Error.NoServer: Failed to connect to socket /tmp/dbus-LVmwrXby53: Connection refused
Jan 13 14:06:23 sobolev pulseaudio[193026]: Unable to contact D-Bus: org.freedesktop.DBus.Error.NoServer: Failed to connect to socket /tmp/dbus-LVmwrXby53: Connection refused
Jan 13 14:06:23 sobolev pulseaudio[193026]: XOpenDisplay() failed
Jan 13 14:06:23 sobolev pulseaudio[193026]: Failed to load module "module-x11-publish" (argument: "display=:50"): initialization failed.
Jan 13 14:06:23 sobolev systemd-coredump[192854]: Process 192036 (x2goagent) of user 1201 dumped core.#012#012
Stack trace of thread 192036:
#012#0  0x000055662e2da364 XkbAdjustGroup (nxagent)
#012#1  0x000055662e2da45b XkbComputeDerivedState (nxagent)#012#2  0x000055662e2d0609 ProcXkbLatchLockState (nxagent)
#012#3  0x000055662e20c048 Dispatch (nxagent
)#012#4  0x000055662e1ef931 main (nxagent)
#012#5  0x00007fef8496f1a3 __libc_start_main (libc.so.6
)#012#6  0x000055662e1efc7e _start (nxagent)
Jan 13 14:06:23 sobolev systemd[1]: systemd-coredump@6-192845-0.service: Succeeded.
Jan 13 14:06:24 sobolev abrt-server[193252]: Deleting problem directory ccpp-2020-01-13-14:06:23.599365-192036 (dup of ccpp-2020-01-13-08:40:23.341620-121797)
Jan 13 14:06:24 sobolev abrt-notification[193286]: Process 121797 (nxagent) crashed in XkbAdjustGroup()
Jan 13 14:06:47 sobolev pulseaudio[193026]: GetManagedObjects() failed: org.freedesktop.DBus.Error.NoReply: Did not receive a reply. Possible cause:
Jan 13 14:06:47 sobolev pulseaudio[193026]: GetManagedObjects() failed: org.freedesktop.DBus.Error.NoReply: Did not receive a reply. Possible cause
s include: the remote application did not send a reply, the message bus security policy blocked the reply, the reply timeout expired, or the network connection was broken.
Jan 13 14:06:50 sobolev systemd[1]: systemd-hostnamed.service: Succeeded.
Jan 13 14:06:52 sobolev kernel: Lockdown: pmdakvm: debugfs access is restricted; see man kernel_lockdown.7
Jan 13 14:07:41 sobolev systemd-logind[3567]: New session 133 of user agw.
Jan 13 14:07:41 sobolev systemd[1]: Starting User Manager for UID 1201...
Jan 13 14:07:41 sobolev systemd[193505]: user@1201.service: Failed to determine user credentials: No such process
Jan 13 14:07:41 sobolev systemd[193505]: user@1201.service: Failed at step USER spawning /usr/lib/systemd/systemd: No such process
Jan 13 14:07:41 sobolev systemd[1]: user@1201.service: Failed with result 'protocol'.
Jan 13 14:07:41 sobolev systemd[1]: Failed to start User Manager for UID 1201.
Jan 13 14:07:41 sobolev systemd[1]: Started Session 133 of user agw.
Jan 13 14:07:44 sobolev /usr/sbin/x2gocleansessions[175019]: agw-50-1578942463_stDMATE_dp32: state file for this session does not exist: /tmp/.x2go-agw/C-agw-50-1578942463_stDMATE_dp32/state (this can be ignored during session startups)
Jan 13 14:07:45 sobolev /usr/bin/x2gostartagent[193869]: successfully started X2Go Agent session with ID agw-50-1578942463_stDMATE_dp32
Jan 13 14:07:46 sobolev /usr/bin/x2goruncommand[194262]: launching session with Xsession-x2go mechanism, using STARTUP="mate-session"
Jan 13 14:07:46 sobolev /usr/bin/x2goruncommand[194263]: dbus wrapper available as /usr/bin/dbus-run-session
Jan 13 14:07:47 sobolev mate-session[194266]: WARNING: keycode1 not existent
Jan 13 14:07:47 sobolev mate-session[194266]: WARNING: keycode2 not existent
Jan 13 14:07:47 sobolev gnome-keyring-daemon[194567]: couldn't access control socket: /run/user/1201/keyring/control: No such file or directory
Jan 13 14:07:47 sobolev systemd[1]: Starting Hostname Service...
Jan 13 14:07:48 sobolev gnome-keyring-daemon[194567]: The PKCS#11 component was already initialized
Jan 13 14:07:48 sobolev gnome-keyring-daemon[194567]: The Secret Service was already initialized
Jan 13 14:07:48 sobolev gnome-keyring-daemon[194567]: The SSH agent was already initialized
Jan 13 14:07:48 sobolev systemd[1]: Started Hostname Service.
Jan 13 14:07:48 sobolev kernel: traps: x2goagent[193858] trap divide error ip:556295358364 sp:7ffea2cc4a60 error:0 in nxagent[556295269000+30a000]
Jan 13 14:07:48 sobolev systemd[1]: Started Process Core Dump (PID 194779/UID 0).
Jan 13 14:07:49 sobolev systemd[32023]: run-user-1201-gvfs.mount: Succeeded.
Jan 13 14:07:49 sobolev systemd[12700]: run-user-1201-gvfs.mount: Succeeded.
Jan 13 14:07:49 sobolev systemd[3813]: run-user-1201-gvfs.mount: Succeeded.
Jan 13 14:07:49 sobolev systemd[1]: run-user-1201-gvfs.mount: Succeeded.
Jan 13 14:07:49 sobolev systemd[12700]: run-user-1201-doc.mount: Succeeded.
Jan 13 14:07:49 sobolev systemd[32023]: run-user-1201-doc.mount: Succeeded.
Jan 13 14:07:49 sobolev systemd[3813]: run-user-1201-doc.mount: Succeeded.
Jan 13 14:07:49 sobolev systemd[1]: run-user-1201-doc.mount: Succeeded.
Jan 13 14:07:49 sobolev systemd-coredump[194784]: Process 193858 (x2goagent) of user 1201 dumped core.
#012#012Stack trace of thread 193858:
#012#0  0x0000556295358364 XkbAdjustGroup (nxagent)
#012#1  0x000055629535845b XkbComputeDerivedState (nxagent)
#012#2  0x000055629534e609 ProcXkbLatchLockState (nxagent)
#012#3  0x000055629528a048 Dispatch (nxagent)
#012#4  0x000055629526d931 main (nxagent)
#012#5  0x00007fb5686ee1a3 __libc_start_main (libc.so.6)
#012#6  0x000055629526dc7e _start (nxagent)
Jan 13 14:07:49 sobolev systemd[1]: systemd-coredump@7-194779-0.service: Succeeded.
Jan 13 14:07:50 sobolev python3[194618]: detected unhandled Python exception in '/usr/bin/dnfdragora-updater'
Jan 13 14:07:50 sobolev systemd-logind[3567]: Session 133 logged out. Waiting for processes to exit.
Jan 13 14:07:50 sobolev abrt-server[195048]: Deleting problem directory Python3-2020-01-13-14:07:49-194618 (dup of Python3-2020-01-13-08:40:29-122503)
Jan 13 14:07:50 sobolev abrt-notification[195088]: Process 122503 (dnfdragora-updater) of user 1201 encountered an uncaught dbus.exceptions.DBusException exception
Jan 13 14:07:50 sobolev abrt-server[195075]: Deleting problem directory ccpp-2020-01-13-14:07:49.883108-193858 (dup of ccpp-2020-01-13-08:40:23.341620-121797)
Jan 13 14:07:50 sobolev abrt-notification[195131]: Process 121797 (nxagent) crashed in XkbAdjustGroup()
Jan 13 14:07:52 sobolev kernel: Lockdown: pmdakvm: debugfs access is restricted; see man kernel_lockdown.7
Jan 13 14:07:54 sobolev systemd[1]: Starting PackageKit Daemon...
Jan 13 14:07:55 sobolev systemd[1]: Started PackageKit Daemon.
Jan 13 14:08:18 sobolev systemd[1]: systemd-hostnamed.service: Succeeded.
Jan 13 14:08:37 sobolev systemd-logind[3567]: New session 134 of user agw.
Jan 13 14:08:37 sobolev systemd[1]: Starting User Manager for UID 1201...
Jan 13 14:08:37 sobolev systemd[195303]: user@1201.service: Failed to determine user credentials: No such process
Jan 13 14:08:37 sobolev systemd[195303]: user@1201.service: Failed at step USER spawning /usr/lib/systemd/systemd: No such process
Jan 13 14:08:37 sobolev systemd[1]: user@1201.service: Failed with result 'protocol'.
Jan 13 14:08:37 sobolev systemd[1]: Failed to start User Manager for UID 1201.
Jan 13 14:08:37 sobolev systemd[1]: Started Session 134 of user agw.
Jan 13 14:08:40 sobolev /usr/sbin/x2gocleansessions[175019]: agw-50-1578942518_stDMATE_dp32: state file for this session does not exist: /tmp/.x2go-agw/C-agw-50-1578942518_stDMATE_dp32/state (this can be ignored during session startups)
Jan 13 14:08:41 sobolev /usr/bin/x2gostartagent[195665]: successfully started X2Go Agent session with ID agw-50-1578942518_stDMATE_dp32
Jan 13 14:08:42 sobolev /usr/bin/x2goruncommand[196050]: launching session with Xsession-x2go mechanism, using STARTUP="mate-session"
Jan 13 14:08:42 sobolev /usr/bin/x2goruncommand[196051]: dbus wrapper available as /usr/bin/dbus-run-session
Jan 13 14:08:43 sobolev mate-session[196054]: WARNING: keycode1 not existent
Jan 13 14:08:43 sobolev mate-session[196054]: WARNING: keycode2 not existent
Jan 13 14:08:43 sobolev gnome-keyring-daemon[196365]: couldn't access control socket: /run/user/1201/keyring/control: No such file or directory
Jan 13 14:08:43 sobolev systemd[1]: Starting Hostname Service...
Jan 13 14:08:44 sobolev gnome-keyring-daemon[196365]: The PKCS#11 component was already initialized
Jan 13 14:08:44 sobolev gnome-keyring-daemon[196365]: The Secret Service was already initialized
Jan 13 14:08:44 sobolev gnome-keyring-daemon[196365]: The SSH agent was already initialized
Jan 13 14:08:44 sobolev systemd[1]: Started Hostname Service.
Jan 13 14:08:44 sobolev kernel: traps: x2goagent[195654] trap divide error ip:5596520ec364 sp:7ffcc4425230 error:0 in nxagent[559651ffd000+30a000]
Jan 13 14:08:44 sobolev systemd[1]: Started Process Core Dump (PID 196583/UID 0).
Jan 13 14:08:45 sobolev systemd-coredump[196589]: Process 195654 (x2goagent) of user 1201 dumped core.#012#012
Stack trace of thread 195654:
#012#0  0x00005596520ec364 XkbAdjustGroup (nxagent)#012#1  0x00005596520ec45b XkbComputeDerivedState (nxagent)
#012#2  0x00005596520e2609 ProcXkbLatchLockState (nxagent)
#012#3  0x000055965201e048 Dispatch (nxagent)
#012#4  0x0000559652001931 main (nxagent)
#012#5  0x00007fa9a2e601a3 __libc_start_main (libc.so.6)
#012#6  0x0000559652001c7e _start (nxagent)

Program terminated with signal SIGFPE, Arithmetic exception.
#0  0x0000563e25598364 in XkbAdjustGroup (group=<error reading variable: Division by zero>, ctrls=ctrls@entry=0x563e25fcab30) at xkbUtils.c:688
688                 group%= ctrls->num_groups;


#0  0x0000563e25598364 in XkbAdjustGroup (group=<error reading variable: Division by zero>, ctrls=ctrls@entry=0x563e25fcab30) at xkbUtils.c:688
        act = 0
#1  0x0000563e2559845b in XkbComputeDerivedState (xkbi=0x563e25fcdd30) at xkbUtils.c:714
        state = 0x563e25fcdd42
        ctrls = 0x563e25fcab30
        grp = <optimized out>
#2  0x0000563e2558e609 in ProcXkbLatchLockState (client=0x563e26370690) at xkb.c:560
        status = <optimized out>
        dev = 0x563e25f971e0
        oldState = {group = 0 '\000', locked_group = 0 '\000', base_group = 0, latched_group = 0, mods = 0 '\000', base_mods = 0 '\000',
          latched_mods = 0 '\000', locked_mods = 0 '\000', compat_state = 0 '\000', grab_mods = 0 '\000', compat_grab_mods = 0 '\000',
          lookup_mods = 0 '\000', compat_lookup_mods = 0 '\000', ptr_buttons = 0}
        newState = 0x563e25fcdd42
        changed = <optimized out>
        stuff = <optimized out>
#3  0x0000563e254ca048 in Dispatch () at NXdispatch.c:482
        clientReady = 0x563e25f9f4e0
        result = <optimized out>
        client = 0x563e26370690
        nready = 0
        icheck = 0x563e258f26b0 <checkForInput>
        start_tick = 0
        currentDispatch = <optimized out>
#4  0x0000563e254ad931 in main (argc=15, argv=0x7ffc27f81108, envp=<optimized out>) at main.c:353
        i = <optimized out>
        xauthfile = <optimized out>
        alwaysCheckForInput = {0, 1}



running as X2Go Agent

NXAGENT - Version 3.5.99.20

Copyright (c) 2001, 2011 NoMachine (http://www.nomachine.com)
Copyright (c) 2008-2014 Oleksandr Shneyder <o.shneyder@phoca-gmbh.de>
Copyright (c) 2011-2016 Mike Gabriel <mike.gabriel@das-netzwerkteam.de>
Copyright (c) 2014-2016 Ulrich Sibiller <uli42@gmx.de>
Copyright (c) 2014-2016 Mihai Moldovan <ionic@ionic.de>
Copyright (c) 2015-2016 Qindel Group (http://www.qindel.com)
See https://github.com/ArcticaProject/nx-libs for more information.

Info: Agent running with pid '199943'.
Session: Starting session at 'Mon Jan 13 14:13:04 2020'.
Info: Proxy running in client mode with pid '199943'.
Info: Using errors file '/tmp/.x2go-agw/C-agw-50-1578942782_stDKDE_dp32/session.log'.
Info: Using stats file '/tmp/.x2go-agw/C-agw-50-1578942782_stDKDE_dp32/C-agw-50-1578942782_stDKDE_dp32/stats'.
Loop: WARNING! Unrecognized session type 'unix-kde-depth_32'. Assuming agent session.
Warning: Unrecognized session type 'unix-kde-depth_32'. Assuming agent session.
Info: Waiting for connection from 'localhost' on socket 'tcp:*:45376'.
Info: Accepted connection from '127.0.0.1'.
Info: Connection with remote proxy completed.
Info: Using ADSL link parameters 1408/24/1/0.
Info: Using agent parameters 5000/10/50/0/0.
Info: Using cache parameters 4/4096KB/8192KB/8192KB.
Info: Using pack method '16m-jpeg-9' with session 'unix-kde-depth_32'.
Info: Using ZLIB data compression 1/1/32.
Info: Using ZLIB stream compression 4/4.
Info: No suitable cache file found.
Info: Listening to X11 connections on display ':50'.
Info: Established X client connection.
Info: Using shared memory parameters 1/1/0/0K.
Info: Using alpha channel in render extension.
Info: Not using local device configuration changes.
Warning: Cannot read keystroke file '/u/sobolev/agw/.x2go/config/keystrokes.cfg'.
Info: using keystrokes file '/etc/x2go/keystrokes.cfg'
Info: ignoring unknown keystroke action 'debug_tree'.
Info: ignoring unknown keystroke action 'regions_on_screen'.
Info: ignoring unknown keystroke action 'test_input'.
Info: ignoring unknown keystroke action 'deactivate_input_devices_grab'.
Current known keystrokes:
  close_session Ctrl+Alt+t
  switch_all_screens Ctrl+Alt+f
  minimize Ctrl+Alt+m
  resize Ctrl+Alt+r
  defer Ctrl+Alt+e
  ignore Ctrl+Alt+BackSpace
  force_synchronization Ctrl+Alt+j
  fullscreen Ctrl+Shift+Alt+f
  viewport_move_left Ctrl+Shift+Alt+Left
  viewport_move_up Ctrl+Alt+Up
  viewport_move_right Ctrl+Alt+Right
  viewport_move_down Ctrl+Alt+Down
Warning: Failed to create keyboard blocking directory '/u/sobolev/agw/.x2go/C-agw-50-1578942782_stDKDE_dp32/keyboard': File exists
Session: Terminating session at 'Mon Jan 13 14:13:06 2020'.
Info: Waiting the cleanup timeout to complete.
Session: Session terminated at 'Mon Jan 13 14:13:07 2020'.

error opening security policy file /usr/lib64/xserver/SecurityPolicy
FreeFontPath: FPE "/usr/share/nx/fonts/misc/" refcount is 2, should be 1; fixing.

nx/nx,link=adsl,pack=16m-jpeg-9,limit=0,root=/tmp/.x2go-agw/C-agw-50-1578942782_stDKDE_dp32,cache=8M,images=32M,type=unix-kde-depth_32,id=agw-50-1578942782_stDKDE_dp32,cookie=b1dfea11dbd712b2994781945d98d508,errors=/tmp/.x2go-agw/C-agw-50-1578942782_stDKDE_dp32/session.log,kbtype=null/null,geometry=1280x1024,xinerama=1,resize=1,fullscreen=0,accept=localhost,listen=45376,clipboard=both,client=linux,menu=0,state=/tmp/.x2go-agw/C-agw-50-1578942782_stDKDE_dp32/state:50

I did go ahead and create bugs in Bugzilla from ABRT:
https://bugzilla.redhat.com/show_bug.cgi?id=1790607
https://bugzilla.redhat.com/show_bug.cgi?id=1790606