How to run Chrome/Firefox on one machine, display on another machine

I have a weird problem…

I have a desktop and a laptop. I need to run Chrome (or Firefox or Chromium, I do not care which) on the laptop but send the display to the desktop. Why? Don’t ask… It’ll take too long to explain. :cry:

  • I can do that with X11 forwarding with ssh, but the latency is too horrid to be useable.
  • I can use w3m via ssh or another console browser. However, this is not really practical for what I need to do.
  • Remote desktop, like VNC is overkill. I don’t want a full desktop, just a web browser.

Is there anything like that I can use?

I just tried x2go which gives me this:

Access denied for 'unknown'. Authentication that can continue: publickey,keyboard-interactive
Access denied for 'unknown'. Authentication that can continue: publickey,keyboard-interactive

Whether I use Internet broswer or gnome or anything else, I get this.

:person_facepalming: I know ssh works fine.

:cry: :sob:

Are you able to install waypipe on both machines?

waypipe ssh username@hostname firefox --new-instance

This looks perfect…

Sadly, I am using X11 (due to awesome window manager) on the desktop. Dammit! Maybe a reason to move to i3 or hyprland. :thinking:

This looks perfect…

Sadly, I am using X11 (due to awesome window manager) on the desktop. Maybe a reason to move to i3 or hyprland. :thinking:

PS: Not sure why my previous post was marked as abuse. ¯\_(ツ)_/¯

X11 is about at the place afs has been for years. A more modern route would be sway with wayland if you like i3. In addition to waypipe, wayvnc is progressing for wlroots based compositors like sway.

I see someone marked this as solution. Does this mean that waypipe over ssh is more performant than X forwarding over ssh in your case? Do you use that with a wayland session is window mode within X11? The OP said they have to use X11.

I also do not consider waypipe a solution after the OP response. How did the reply get marked as a solution? Is there a place to go to learn more about fedora help request lifecycle?

The waypipe performance is in question. There are plenty of options to waypipe to try out. I also wonder if fewer pixels and more commands are used compared to X11 forwarding. If VNC is overkill then it is at least a potentially performant enough solution except for the X11 requirement.

Probably the OP marked it, which seems reasonable after reading his post following.

I didn’t mean to criticize the marking. I was wondering about different performance of waypipe compared to X forwarding - which is not unlikely due to the different architecture, and how this works between X and Wayland (possibly Xwayland).

Very simple: there are no other answers, and the current one does offer a solution. It’s not ideal, as I would need to change window manager. However, it is better than nothing.

If anyone has a solution with X11, great.

I just tried, and this is what I get:

waypipe ssh yg@berserk xterm
[SSH banner]
Warning: remote port forwarding failed for listen path /tmp/waypipe-server-9ys0JNqU.sock
S4705: 95.939091 [src/server.c:637] Env. var XDG_RUNTIME_DIR not available, cannot place display socket for WAYLAND_DISPLAY="wayland-9ys0JNqU"

Both machines running Gnome on Wayland (checked via loginctl show-session 2 -p Type) and export XDG_RUNTIME_DIR=~/xdg-wayland set in both ~/.bashrc and ~/.zshrc.

:slightly_frowning_face: What am I doing wrong?

1 Like

Both Fedora and Debian have XDG_RUNTIME_DIR =/run/user/NNNN “automagically” configured, with permissions:

% ls -ldZ $XDG_RUNTIME_DIR
drwx------. 4 $USER $USER unconfined_u:object_r:user_tmp_t:s0 120 Oct 10 07:38 /run/user/NNNN/

On the desktop, I am seeing this:

 ; waypipe --debug ssh yg@berserk xterm
zsh: correct 'ssh' to '.ssh' [nyae]? n
c148876: 82.417313 [src/client.c:705] I'm a client listening on '/tmp/' / 'waypipe-client-niMLcoim.sock'
c148876: 82.417322 [src/client.c:707] version: 0.8.6
c148876: 82.417360 [src/client.c:752] A wayland compositor is available. Proceeding.
# SSH banner here.
Warning: remote port forwarding failed for listen path /tmp/waypipe-server-niMLcoim.sock
s160295: 94.314004 [src/server.c:591] I'm a server connecting on /tmp x waypipe-server-niMLcoim.sock, running: xterm
s160295: 94.314014 [src/server.c:594] version: 0.8.6
S160295: 94.314016 [src/server.c:637] Env. var XDG_RUNTIME_DIR not available, cannot place display socket for WAYLAND_DISPLAY="wayland-niMLcoim"
c148876: 94.316491 [src/util.c:498] Child process 148877 has died
c148876: 94.316504 [src/client.c:564] Child (ssh) died, exiting
✗ 1 ; echo $XDG_RUNTIME_DIR               
/run/user/1000
√ ; ls -ldZ $XDG_RUNTIME_DIR
drwx------. yg yg unconfined_u:object_r:user_tmp_t:s0 680 B Tue Oct 10 14:55:19 2023  /run/user/1000/

I do get a pop up asking for my SSH passpharse.

If you are still using Xorg, ssh -AY <host> firefox --new-instance “works for me”.

If you switched to a Wayland WM waypipe ssh <host> alacritty “works for me” in a Wayland session using waypipe. For both systems, ls -al $XDG_RUNTIME_DIR/Alacritty* shows entries like:

srwxr-xr-x. 1 <user> <group> 0 Oct 10 15:49 /run/user/1000/Alacritty-wayland-qfxJk2vx-4660.sock=

x2go should have worked and it is much more performant than X11 forwarding over SSH. Unless your username is “unknown”, it looks like you just didn’t complete the connection profile correctly.

The example I tested ran firefox as a wayland app. Try a terminal that runs as a wayland app.

waypipe ssh user@host foot

I would like to capture a system build that does not include any X11 applications but even gnome-session-wayland-session has a dependency on xorg-x11-server-Xwayland. Technology shouldn’t evolve so slowly but it seems most in technology do not like change just like in any other sector of humanity;-) I have seen a lot though as I do not miss editing files with ed on a DEC LA120 or the punch cards we had in HS.

From waypipe:

Shared memory buffer updates, including those for the contents of windows, are tracked by keeping a “mirror” copy of the buffer the represents the view which the opposing instance of Waypipe has. This way, Waypipe can send only the regions of the buffer that have changed relative to the remote copy. This is more efficient than resending the entire buffer on every update, which is good for applications with reasonably static user interfaces (like a text editor or email client). However, with programs with animations where the interaction latency matters (like games or certain audio tools), major window updates will unavoidably produce a lag spike. The additional memory cost of keeping mirrors is moderate.

Here is the debug output if I use terminal:

x2go-DEBUG-../src/sshmasterconnection.cpp:1891> scp ok: "/home/yg/.config/pulse/cookie" -> "yg"@"berserk":".x2go/C-yg-53-1697027748_stRTERMINAL_dp24/.pulse-cookie"

x2go-DEBUG-../src/sshmasterconnection.cpp:2009> EOF on channel 0x7f5b940ade90; SshProcess object: 4
x2go-DEBUG-../src/sshmasterconnection.cpp:2250> EOF sent.
x2go-DEBUG-../src/sshmasterconnection.cpp:2252> Channel closed.
x2go-DEBUG-../src/sshprocess.cpp:532> SSH finished: raw output (stdout): "X2GODATABEGIN:5f6df6ad-725c-452a-98b3-991a20dcedda\nX2GODATAEND:5f6df6ad-725c-452a-98b3-991a20dcedda\n"
x2go-DEBUG-../src/sshprocess.cpp:543> SSH finished: true - "" (4).
x2go-DEBUG-../src/sshprocess.cpp:109> New TCP connection.
x2go-DEBUG-../src/sshprocess.cpp:114> New socket: 19
x2go-DEBUG-../src/sshmasterconnection.cpp:2112> Creating new channel.

x2go-DEBUG-../src/sshmasterconnection.cpp:2125> New channel:0x7f5b940ade90

x2go-DEBUG-../src/sshmasterconnection.cpp:2129> Forwarding parameters: from remote ("localhost":51681) to local ("localhost":56184)
x2go-DEBUG-../src/sshmasterconnection.cpp:2163> Temporary session port after config file parse: 51681
x2go-DEBUG-../src/sshmasterconnection.cpp:2167> Temporary session host after config file parse: localhost
x2go-DEBUG-../src/sshmasterconnection.cpp:2190> "ssh_channel_open_forward failed": "Channel opening failure: channel 49 error (1) open failed"

x2go-DEBUG-../src/sshprocess.cpp:478> I/O error: "ssh_channel_open_forward failed."" - Channel opening failure: channel 49 error (1) open failed" (3).
x2go-DEBUG-../src/sshprocess.cpp:478> I/O error: "ssh_channel_write failed."" - Remote channel is closed" (3).
x2go-DEBUG-../src/sshmasterconnection.cpp:2075> "ssh_channel_write failed": "Remote channel is closed"

x2go-DEBUG-../src/sshmasterconnection.cpp:2250> EOF sent.
x2go-DEBUG-../src/sshmasterconnection.cpp:2252> Channel closed.
x2go-DEBUG-../src/onmainwindow.cpp:6905> Proxy wrote on stderr: "Loop: PANIC! The remote NX proxy closed the connection.\nError: The remote NX proxy closed the connection.\n"
x2go-DEBUG-../src/onmainwindow.cpp:6905> Proxy wrote on stderr: "Loop: PANIC! Failure negotiating the session in stage '7'.\nError: Failure negotiating the session in stage '7'.\n"
x2go-DEBUG-../src/onmainwindow.cpp:6905> Proxy wrote on stderr: "Loop: PANIC! Wrong version or invalid session authentication cookie.\nError: Wrong version or invalid session authentication cookie.\nSession: Terminating session at 'Wed Oct 11 13:35:50 2023'.\nSession: Session terminated at 'Wed Oct 11 13:35:50 2023'.\n"
x2go-DEBUG-../src/onmainwindow.cpp:6762> Deleting Proxy.
x2go-DEBUG-../src/onmainwindow.cpp:6807> Waiting for proxy to exit.
x2go-DEBUG-../src/onmainwindow.cpp:6831> Checking exit status.
x2go-DEBUG-../src/sshprocess.cpp:199> Executing remote command via SshProcess object 7: "x2gocmdexitmessage yg-53-1697027748_stRTERMINAL_dp24"
x2go-DEBUG-../src/sshprocess.cpp:213> this=SshProcess(0x55da616d8230) Running masterCon->addChannelConnection(this, '"dc34776d-4020-43f6-8e8a-b7bfe3517eb9"', '"bash -l -c 'echo \"X2GODATABEGIN:dc34776d-4020-43f6-8e8a-b7bfe3517eb9\"; export PATH=\"/usr/local/bin:/usr/bin:/bin\";export TERM=\"dumb\"; x2gocmdexitmessage yg-53-1697027748_stRTERMINAL_dp24; echo \"X2GODA"');
x2go-DEBUG-../src/sshmasterconnection.cpp:1810> Locking SSH channel connection MUTEX.
x2go-DEBUG-../src/sshmasterconnection.cpp:1812> Passing new channel connection object to channelConnections.
x2go-DEBUG-../src/sshmasterconnection.cpp:1814> Unlocking SSH channel connection MUTEX.
x2go-DEBUG-../src/onmainwindow.cpp:6888> Finished proxy.
x2go-DEBUG-../src/sshmasterconnection.cpp:2112> Creating new channel.

x2go-DEBUG-../src/sshmasterconnection.cpp:2125> New channel:0x7f5b940ae600

x2go-DEBUG-../src/sshmasterconnection.cpp:2200> Executing remote: "bash -l -c 'echo \"X2GODATABEGIN:dc34776d-4020-43f6-8e8a-b7bfe3517eb9\"; export PATH=\"/usr/local/bin:/usr/bin:/bin\";export TERM=\"dumb\"; x2gocmdexitmessage yg-53-1697027748_stRTERMINAL_dp24; echo \"X2GODATAEND:dc34776d-4020-43f6-8e8a-b7bfe3517eb9\";'"

x2go-DEBUG-../src/sshmasterconnection.cpp:2210> "ssh_channel_open_session failed": "Socket error: Success"

x2go-DEBUG-../src/sshmasterconnection.cpp:1976> Connection to channel went wrong.
zsh: segmentation fault (core dumped)  x2goclient --debug
✗ 139 ; WARNING: failed to kill process group '43118': No such process

Here is what I see when I try gnome:

FWIW, here is a working example that I just ran. I’m connecting from Fedora Workstation 38 running the Sway window manager to Fedora Server 37. I’ve configured X2Go to run Google Chome as a lone app.

And here is the terminal debug output for comparison.

$ env QT_QPA_PLATFORM=xcb x2goclient --debug
x2go-WARNING-1> English language requested, not loading translator.
x2go-WARNING-1> English language requested, not loading translator.
x2go-INFO-3> "Started X2Go Client."
x2go-DEBUG-../src/onmainwindow.cpp:655> "$HOME=/home/glb"
x2go-DEBUG-../src/onmainwindow.cpp:2392> Reading 1 sessions from config file.
x2go-DEBUG-../src/onmainwindow.cpp:13651> libssh not initialized yet. Initializing.
x2go-DEBUG-../src/onmainwindow.cpp:2888> Creating QPixmap with session icon: '":/img/icons/128x128/x2gosession.png"'.
x2go-INFO-8> "Starting connection to server: bogus.servername.edu:22"
x2go-DEBUG-../src/onmainwindow.cpp:3011> Starting new ssh connection to server:"bogus.servername.edu":"22" krbLogin: false
x2go-DEBUG-../src/sshmasterconnection.cpp:168> SshMasterConnection, host "bogus.servername.edu"; port 22; user "gbartho"; useproxy false; proxyserver ""; proxyport 22
x2go-DEBUG-../src/sshmasterconnection.cpp:248> Starting SSH connection without Kerberos authentication.
x2go-DEBUG-../src/sshmasterconnection.cpp:250> SshMasterConnection, instance SshMasterConnection(0x7f5e3c004fa0) created.
x2go-DEBUG-../src/sshmasterconnection.cpp:492> SshMasterConnection, instance SshMasterConnection(0x7f5e3c004fa0) entering thread.
x2go-DEBUG-../src/sshmasterconnection.cpp:795> Session port before config file parse: 22
x2go-DEBUG-../src/sshmasterconnection.cpp:805> Session port after config file parse: 22
x2go-DEBUG-../src/sshmasterconnection.cpp:869> Session port before config file parse (part 2): 22
x2go-DEBUG-../src/sshmasterconnection.cpp:879> Session port after config file parse (part 2): 22
x2go-DEBUG-../src/sshmasterconnection.cpp:903> cserverAuth
x2go-DEBUG-../src/sshmasterconnection.cpp:942> state: 1

x2go-DEBUG-../src/sshmasterconnection.cpp:1217> Trying password mechanism if available.

x2go-DEBUG-../src/sshmasterconnection.cpp:1221> Password mechanism available. Continuing.

x2go-DEBUG-../src/sshmasterconnection.cpp:685> User authentication OK.
x2go-DEBUG-../src/sshmasterconnection.cpp:1708> LOGIN CHECK:"LOGIN OK\r\n"
x2go-DEBUG-../src/sshmasterconnection.cpp:1711> don't have interaction
x2go-DEBUG-../src/sshmasterconnection.cpp:1744> LOOP FINISHED
x2go-DEBUG-../src/sshmasterconnection.cpp:1748> No interaction needed, continue session
x2go-DEBUG-../src/sshmasterconnection.cpp:700> Login Check - OK
x2go-DEBUG-../src/onmainwindow.cpp:3105> SSH connection established.
x2go-DEBUG-../src/onmainwindow.cpp:3538> Continue normal X2Go session
x2go-DEBUG-../src/sshprocess.cpp:199> Executing remote command via SshProcess object 0: "x2golistsessions"
x2go-DEBUG-../src/sshprocess.cpp:213> this=SshProcess(0x5568fe53b8a0) Running masterCon->addChannelConnection(this, '"49f986c0-dd0f-46de-96ff-2de8090f0aab"', '"bash -l -c 'echo \"X2GODATABEGIN:49f986c0-dd0f-46de-96ff-2de8090f0aab\"; export PATH=\"/usr/local/bin:/usr/bin:/bin\";export TERM=\"dumb\"; x2golistsessions; echo \"X2GODATAEND:49f986c0-dd0f-46de-96ff-2de809"');
x2go-DEBUG-../src/sshmasterconnection.cpp:1810> Locking SSH channel connection MUTEX.
x2go-DEBUG-../src/sshmasterconnection.cpp:1812> Passing new channel connection object to channelConnections.
x2go-DEBUG-../src/sshmasterconnection.cpp:1814> Unlocking SSH channel connection MUTEX.
x2go-DEBUG-../src/sshmasterconnection.cpp:2112> Creating new channel.

x2go-DEBUG-../src/sshmasterconnection.cpp:2125> New channel:0x7f5e1c05f900

x2go-DEBUG-../src/sshmasterconnection.cpp:2200> Executing remote: "bash -l -c 'echo \"X2GODATABEGIN:49f986c0-dd0f-46de-96ff-2de8090f0aab\"; export PATH=\"/usr/local/bin:/usr/bin:/bin\";export TERM=\"dumb\"; x2golistsessions; echo \"X2GODATAEND:49f986c0-dd0f-46de-96ff-2de8090f0aab\";'"

x2go-DEBUG-../src/sshmasterconnection.cpp:2231> New exec channel created.

x2go-DEBUG-../src/sshmasterconnection.cpp:2009> EOF on channel 0x7f5e1c05f900; SshProcess object: 0
x2go-DEBUG-../src/sshmasterconnection.cpp:2250> EOF sent.
x2go-DEBUG-../src/sshmasterconnection.cpp:2252> Channel closed.
x2go-DEBUG-../src/sshprocess.cpp:532> SSH finished: raw output (stdout): "X2GODATABEGIN:49f986c0-dd0f-46de-96ff-2de8090f0aab\nX2GODATAEND:49f986c0-dd0f-46de-96ff-2de8090f0aab\n"
x2go-DEBUG-../src/sshprocess.cpp:543> SSH finished: true - "" (0).
x2go-DEBUG-../src/onmainwindow.cpp:4043> ""
x2go-DEBUG-../src/onmainwindow.cpp:4726> Executing remote command: "X2GODPI=30 X2GO_XINERAMA=no x2gostartagent 1920x1080 wan 16m-jpeg-9 unix-kde-depth_24 us auto 1 R chrome both"
x2go-DEBUG-../src/sshprocess.cpp:199> Executing remote command via SshProcess object 1: "X2GODPI=30 X2GO_XINERAMA=no x2gostartagent 1920x1080 wan 16m-jpeg-9 unix-kde-depth_24 us auto 1 R chrome both"
x2go-DEBUG-../src/sshprocess.cpp:213> this=SshProcess(0x5568fe26de20) Running masterCon->addChannelConnection(this, '"05f48756-c613-4621-b751-91a194b057f4"', '"bash -l -c 'echo \"X2GODATABEGIN:05f48756-c613-4621-b751-91a194b057f4\"; export PATH=\"/usr/local/bin:/usr/bin:/bin\";export TERM=\"dumb\"; X2GODPI=30 X2GO_XINERAMA=no x2gostartagent 1920x1080 wan 16m-jpeg-"');
x2go-DEBUG-../src/sshmasterconnection.cpp:1810> Locking SSH channel connection MUTEX.
x2go-DEBUG-../src/sshmasterconnection.cpp:1812> Passing new channel connection object to channelConnections.
x2go-DEBUG-../src/sshmasterconnection.cpp:1814> Unlocking SSH channel connection MUTEX.
x2go-DEBUG-../src/sshmasterconnection.cpp:2112> Creating new channel.

x2go-DEBUG-../src/sshmasterconnection.cpp:2125> New channel:0x7f5e1c060120

x2go-DEBUG-../src/sshmasterconnection.cpp:2200> Executing remote: "bash -l -c 'echo \"X2GODATABEGIN:05f48756-c613-4621-b751-91a194b057f4\"; export PATH=\"/usr/local/bin:/usr/bin:/bin\";export TERM=\"dumb\"; X2GODPI=30 X2GO_XINERAMA=no x2gostartagent 1920x1080 wan 16m-jpeg-9 unix-kde-depth_24 us auto 1 R chrome both; echo \"X2GODATAEND:05f48756-c613-4621-b751-91a194b057f4\";'"

x2go-DEBUG-../src/sshmasterconnection.cpp:2231> New exec channel created.

x2go-DEBUG-../src/sshmasterconnection.cpp:2009> EOF on channel 0x7f5e1c060120; SshProcess object: 1
x2go-DEBUG-../src/sshmasterconnection.cpp:2250> EOF sent.
x2go-DEBUG-../src/sshmasterconnection.cpp:2252> Channel closed.
x2go-DEBUG-../src/sshprocess.cpp:532> SSH finished: raw output (stdout): "X2GODATABEGIN:05f48756-c613-4621-b751-91a194b057f4\n50\n4f1274eac740d80bfae2f7ccc6b59857\n575254\ngbartho-50-1697041158_stRchrome_dp24\n45614\n45615\n45616\nX2GODATAEND:05f48756-c613-4621-b751-91a194b057f4\n"
x2go-DEBUG-../src/sshprocess.cpp:543> SSH finished: true - "50\n4f1274eac740d80bfae2f7ccc6b59857\n575254\ngbartho-50-1697041158_stRchrome_dp24\n45614\n45615\n45616\n" (1).
x2go-DEBUG-../src/onmainwindow.cpp:5680> Agent output: "50\n4f1274eac740d80bfae2f7ccc6b59857\n575254\ngbartho-50-1697041158_stRchrome_dp24\n45614\n45615\n45616\n"
x2go-DEBUG-../src/sshprocess.cpp:387> Starting tunnel via SshProcess object 2: "localhost":45614 -> "localhost":46614

RESUMING SESSION is KDRIVE:  false
x2go-DEBUG-../src/onmainwindow.cpp:6427> "Starting NX proxy, command: nxproxy -S nx/nx,options=/home/glb/.x2go/S-gbartho-50-1697041158_stRchrome_dp24/options:50"
x2go-DEBUG-../src/sshprocess.cpp:157> Direct tunnel: waiting for connections on "localhost":46614
x2go-DEBUG-../src/onmainwindow.cpp:6905> Proxy wrote on stderr: "\nNXPROXY - Version 3.5.99.26\n\nCopyright (c) 2001, 2011 NoMachine (http://www.nomachine.com)\nCopyright (c) 2008-2014 Oleksandr Shneyder <o.shneyder@phoca-gmbh.de>\nCopyright (c) 2014-2016 Ulrich Sibiller <uli42@gmx.de>\nCopyright (c) 2014-2016 Mihai Moldovan <ionic@ionic.de>\nCopyright (c) 2011-2016 Mike Gabriel <mike.gabriel@das-netzwerkteam.de>\nCopyright (c) 2015-2016 Qindel Group (http://www.qindel.com)\n\nNXCOMP, NX protocol compression and NX extensions to this software\nare copyright of the aforementioned persons and companies.\n\nRedistribution and use of the present software is allowed according\nto terms specified in the file LICENSE.nxcomp which comes in the\nsource distribution.\n\nAll rights reserved.\n\nNOTE: This software has received contributions from various other\ncontributors, only the core maintainers and supporters are listed as\ncopyright holders. Please contact us, if you feel you should be listed\nas copyright holder, as well.\n\nNX protocol compression is derived from DXPC project.\n\nCopyright (c) 1995,1996 Brian Pane\nCopyright (c) 1996,1997 Zachary Vonler and Brian Pane\nCopyright (c) 1999 Kevin Vigor and Brian Pane\nCopyright (c) 2000,2003 Gian Filippo Pinzari and Brian Pane\n\nAll rights reserved.\n\nSee https://github.com/ArcticaProject/nx-libs for more information.\n\nInfo: Proxy running in server mode with pid '76186'.\nSession: Starting session at 'Wed Oct 11 11:19:01 2023'.\nInfo: Using errors file '/home/glb/.x2go/S-gbartho-50-1697041158_stRchrome_dp24/sessions'.\nInfo: Using stats file '/home/glb/.x2go/S-50/stats'.\nLoop: WARNING! Overriding auxiliary X11 port with new value '1'.\nWarning: Overriding auxiliary X11 port with new value '1'.\nInfo: Using abstract X11 socket in kernel namespace for accessing DISPLAY=:0.\nInfo: Connecting to remote host 'localhost:46614'.\nInfo: Connected to remote proxy on FD#5.\n"
x2go-DEBUG-../src/sshprocess.cpp:109> New TCP connection.
x2go-DEBUG-../src/sshprocess.cpp:114> New socket: 15
x2go-DEBUG-../src/sshmasterconnection.cpp:2112> Creating new channel.

x2go-DEBUG-../src/sshmasterconnection.cpp:2125> New channel:0x7f5e1c05f990

x2go-DEBUG-../src/sshmasterconnection.cpp:2129> Forwarding parameters: from remote ("localhost":45614) to local ("localhost":42644)
x2go-DEBUG-../src/sshmasterconnection.cpp:2163> Temporary session port after config file parse: 45614
x2go-DEBUG-../src/sshmasterconnection.cpp:2167> Temporary session host after config file parse: localhost
x2go-DEBUG-../src/sshmasterconnection.cpp:2194> New channel forwarded.

x2go-DEBUG-../src/onmainwindow.cpp:6905> Proxy wrote on stderr: "Info: Connection with remote proxy completed.\nLoop: WARNING! Unrecognized session type 'unix-kde-depth_24'. Assuming agent session.\nWarning: Unrecognized session type 'unix-kde-depth_24'. Assuming agent session.\n"
x2go-DEBUG-../src/onmainwindow.cpp:6905> Proxy wrote on stderr: "Info: Using WAN link parameters 1408/24/1/0.\nInfo: Using cache parameters 4/4096KB/8192KB/8192KB.\nInfo: Using pack method '16m-jpeg-9' with session 'unix-kde-depth_24'.\nInfo: Using ZLIB data compression 1/1/32.\nInfo: Using ZLIB stream compression 1/1.\nInfo: No suitable cache file found.\nInfo: Forwarding X11 connections to display ':0'.\nInfo: Forwarding auxiliary X11 connections to display ':0'.\n"
x2go-DEBUG-../src/onmainwindow.cpp:6905> Proxy wrote on stderr: "Session: Session started at 'Wed Oct 11 11:19:01 2023'.\n"
x2go-DEBUG-../src/onmainwindow.cpp:6905> Proxy wrote on stderr: "Info: Established X server connection.\n"
x2go-DEBUG-../src/sshprocess.cpp:199> Executing remote command via SshProcess object 3: "x2gobasepath"
x2go-DEBUG-../src/sshprocess.cpp:213> this=SshProcess(0x5568fe218260) Running masterCon->addChannelConnection(this, '"b093a4e6-ff0e-499b-a9c7-d6f592ff1322"', '"bash -l -c 'echo \"X2GODATABEGIN:b093a4e6-ff0e-499b-a9c7-d6f592ff1322\"; export PATH=\"/usr/local/bin:/usr/bin:/bin\";export TERM=\"dumb\"; x2gobasepath; echo \"X2GODATAEND:b093a4e6-ff0e-499b-a9c7-d6f592ff13"');
x2go-DEBUG-../src/sshmasterconnection.cpp:1810> Locking SSH channel connection MUTEX.
x2go-DEBUG-../src/sshmasterconnection.cpp:1812> Passing new channel connection object to channelConnections.
x2go-DEBUG-../src/sshmasterconnection.cpp:1814> Unlocking SSH channel connection MUTEX.
x2go-DEBUG-../src/sshmasterconnection.cpp:2112> Creating new channel.

x2go-DEBUG-../src/sshmasterconnection.cpp:2125> New channel:0x7f5e1c062160

x2go-DEBUG-../src/sshmasterconnection.cpp:2200> Executing remote: "bash -l -c 'echo \"X2GODATABEGIN:b093a4e6-ff0e-499b-a9c7-d6f592ff1322\"; export PATH=\"/usr/local/bin:/usr/bin:/bin\";export TERM=\"dumb\"; x2gobasepath; echo \"X2GODATAEND:b093a4e6-ff0e-499b-a9c7-d6f592ff1322\";'"

x2go-DEBUG-../src/sshmasterconnection.cpp:2231> New exec channel created.

x2go-DEBUG-../src/onmainwindow.cpp:6905> Proxy wrote on stderr: "Info: Using shared memory parameters 0/0K.\n"
x2go-DEBUG-../src/onmainwindow.cpp:12015> "Searching proxy window: X2GO-gbartho-50-1697041158_stRchrome_dp24"
x2go-DEBUG-../src/onmainwindow.cpp:13639> "Searching window with title: X2GO-gbartho-50-1697041158_stRchrome_dp24"
x2go-DEBUG-../src/onmainwindow.cpp:12021> "Proxy window found: 18874639"
x2go-DEBUG-../src/sshmasterconnection.cpp:2009> EOF on channel 0x7f5e1c062160; SshProcess object: 3
x2go-DEBUG-../src/sshmasterconnection.cpp:2250> EOF sent.
x2go-DEBUG-../src/sshmasterconnection.cpp:2252> Channel closed.
x2go-DEBUG-../src/sshprocess.cpp:532> SSH finished: raw output (stdout): "X2GODATABEGIN:b093a4e6-ff0e-499b-a9c7-d6f592ff1322\n/usrX2GODATAEND:b093a4e6-ff0e-499b-a9c7-d6f592ff1322\n"
x2go-DEBUG-../src/sshprocess.cpp:543> SSH finished: true - "/usr" (3).
x2go-DEBUG-../src/sshprocess.cpp:199> Executing remote command via SshProcess object 4: "export PULSE_CLIENTCONFIG=\"${HOME}/.x2go/C-gbartho-50-1697041158_stRchrome_dp24/.pulse-client.conf\";setsid /usr/bin/x2goruncommand 50 575254 gbartho-50-1697041158_stRchrome_dp24 45615 /opt/google/chrome/chrome nosnd R 1> /dev/null 2>/dev/null & exit"
x2go-DEBUG-../src/sshprocess.cpp:213> this=SshProcess(0x5568fe542030) Running masterCon->addChannelConnection(this, '"aab56173-8afc-43be-8f52-0e79cde3448f"', '"bash -l -c 'echo \"X2GODATABEGIN:aab56173-8afc-43be-8f52-0e79cde3448f\"; export TERM=\"dumb\"; export PULSE_CLIENTCONFIG=\"${HOME}/.x2go/C-gbartho-50-1697041158_stRchrome_dp24/.pulse-client.conf\";setsid /u"');
x2go-DEBUG-../src/sshmasterconnection.cpp:1810> Locking SSH channel connection MUTEX.
x2go-DEBUG-../src/sshmasterconnection.cpp:1812> Passing new channel connection object to channelConnections.
x2go-DEBUG-../src/sshmasterconnection.cpp:1814> Unlocking SSH channel connection MUTEX.
x2go-DEBUG-../src/sshmasterconnection.cpp:2112> Creating new channel.

x2go-DEBUG-../src/sshmasterconnection.cpp:2125> New channel:0x7f5e1c062160

x2go-DEBUG-../src/sshmasterconnection.cpp:2200> Executing remote: "bash -l -c 'echo \"X2GODATABEGIN:aab56173-8afc-43be-8f52-0e79cde3448f\"; export TERM=\"dumb\"; export PULSE_CLIENTCONFIG=\"${HOME}/.x2go/C-gbartho-50-1697041158_stRchrome_dp24/.pulse-client.conf\";setsid /usr/bin/x2goruncommand 50 575254 gbartho-50-1697041158_stRchrome_dp24 45615 /opt/google/chrome/chrome nosnd R 1> /dev/null 2>/dev/null & exit; echo \"X2GODATAEND:aab56173-8afc-43be-8f52-0e79cde3448f\";'"

x2go-DEBUG-../src/sshmasterconnection.cpp:2231> New exec channel created.

x2go-DEBUG-../src/sshmasterconnection.cpp:2009> EOF on channel 0x7f5e1c062160; SshProcess object: 4
x2go-DEBUG-../src/sshmasterconnection.cpp:2250> EOF sent.
x2go-DEBUG-../src/sshmasterconnection.cpp:2252> Channel closed.
x2go-DEBUG-../src/sshprocess.cpp:532> SSH finished: raw output (stdout): "X2GODATABEGIN:aab56173-8afc-43be-8f52-0e79cde3448f\n"
x2go-DEBUG-../src/sshprocess.cpp:543> SSH finished: true - "" (4).
x2go-DEBUG-../src/onmainwindow.cpp:6905> Proxy wrote on stderr: "Session: Terminating session at 'Wed Oct 11 11:20:11 2023'.\nSession: Session terminated at 'Wed Oct 11 11:20:11 2023'.\n"
x2go-DEBUG-../src/sshmasterconnection.cpp:2093> Socket 15 closed.

x2go-DEBUG-../src/sshmasterconnection.cpp:2250> EOF sent.
x2go-DEBUG-../src/sshmasterconnection.cpp:2252> Channel closed.
x2go-DEBUG-../src/onmainwindow.cpp:6762> Deleting Proxy.
x2go-DEBUG-../src/onmainwindow.cpp:6807> Waiting for proxy to exit.
x2go-DEBUG-../src/onmainwindow.cpp:6831> Checking exit status.
x2go-DEBUG-../src/sshprocess.cpp:199> Executing remote command via SshProcess object 5: "x2gocmdexitmessage gbartho-50-1697041158_stRchrome_dp24"
x2go-DEBUG-../src/sshprocess.cpp:213> this=SshProcess(0x5568fe2dd920) Running masterCon->addChannelConnection(this, '"17c7255b-c639-49d2-93e6-cdb2a3c24f51"', '"bash -l -c 'echo \"X2GODATABEGIN:17c7255b-c639-49d2-93e6-cdb2a3c24f51\"; export PATH=\"/usr/local/bin:/usr/bin:/bin\";export TERM=\"dumb\"; x2gocmdexitmessage gbartho-50-1697041158_stRchrome_dp24; echo \"X2G"');
x2go-DEBUG-../src/sshmasterconnection.cpp:1810> Locking SSH channel connection MUTEX.
x2go-DEBUG-../src/sshmasterconnection.cpp:1812> Passing new channel connection object to channelConnections.
x2go-DEBUG-../src/sshmasterconnection.cpp:1814> Unlocking SSH channel connection MUTEX.
x2go-DEBUG-../src/onmainwindow.cpp:6888> Finished proxy.
x2go-DEBUG-../src/sshmasterconnection.cpp:2112> Creating new channel.

x2go-DEBUG-../src/sshmasterconnection.cpp:2125> New channel:0x7f5e1c05f990

x2go-DEBUG-../src/sshmasterconnection.cpp:2200> Executing remote: "bash -l -c 'echo \"X2GODATABEGIN:17c7255b-c639-49d2-93e6-cdb2a3c24f51\"; export PATH=\"/usr/local/bin:/usr/bin:/bin\";export TERM=\"dumb\"; x2gocmdexitmessage gbartho-50-1697041158_stRchrome_dp24; echo \"X2GODATAEND:17c7255b-c639-49d2-93e6-cdb2a3c24f51\";'"

x2go-DEBUG-../src/sshmasterconnection.cpp:2231> New exec channel created.

x2go-DEBUG-../src/sshmasterconnection.cpp:2009> EOF on channel 0x7f5e1c05f990; SshProcess object: 5
x2go-DEBUG-../src/sshmasterconnection.cpp:2250> EOF sent.
x2go-DEBUG-../src/sshmasterconnection.cpp:2252> Channel closed.
x2go-DEBUG-../src/sshprocess.cpp:532> SSH finished: raw output (stdout): "X2GODATABEGIN:17c7255b-c639-49d2-93e6-cdb2a3c24f51\nexec /opt/google/chrome/chrome\nX2GODATAEND:17c7255b-c639-49d2-93e6-cdb2a3c24f51\n"
x2go-DEBUG-../src/sshprocess.cpp:543> SSH finished: true - "exec /opt/google/chrome/chrome\n" (5).
x2go-DEBUG-../src/onmainwindow.cpp:10185> "Command message: exec /opt/google/chrome/chrome\n"
x2go-DEBUG-../src/sshmasterconnection.cpp:762> SshMasterConnection, instance SshMasterConnection(0x7f5e3c004fa0) waiting for thread to finish.
x2go-DEBUG-../src/sshmasterconnection.cpp:1908> Disconnecting ...

x2go-DEBUG-../src/sshmasterconnection.cpp:1917> Deleting channel connections.

x2go-DEBUG-../src/sshmasterconnection.cpp:1923> Disconnecting session.

x2go-DEBUG-../src/sshmasterconnection.cpp:1927> Deleting sockets.

x2go-DEBUG-../src/sshmasterconnection.cpp:1932> All channels closed and session disconnected. Quitting session loop.

x2go-DEBUG-../src/sshmasterconnection.cpp:764> SshMasterConnection, instance SshMasterConnection(0x7f5e3c004fa0) thread finished.
x2go-DEBUG-../src/sshprocess.cpp:52> SshProcess destructor called.
x2go-DEBUG-../src/sshprocess.cpp:52> SshProcess destructor called.
x2go-DEBUG-../src/sshprocess.cpp:52> SshProcess destructor called.
x2go-DEBUG-../src/sshprocess.cpp:52> SshProcess destructor called.
x2go-DEBUG-../src/sshprocess.cpp:52> SshProcess destructor called.
x2go-DEBUG-../src/sshprocess.cpp:52> SshProcess destructor called.
x2go-DEBUG-../src/sshmasterconnection.cpp:769> SshMasterConnection, instance SshMasterConnection(0x7f5e3c004fa0) finished destructor.

I had that session configured for normal password authentication. But I know that X2Go does work with 2FA.

Edit: I do note that x2goclient errors out if the environment variable QT_QPA_PLATFORM is not set to xcb (i.e. env QT_QPA_PLATFORM=xcb x2goclient). I don’t know if that is normally required or if it is something peculiar to my configuration. I got that command from inspecting /usr/share/applications/x2goclient.desktop.