Bug 1371690 - Cannot connect to x2goserver local desktop using x2goclient
Summary: Cannot connect to x2goserver local desktop using x2goclient
Keywords:
Status: CLOSED ERRATA
Alias: None
Product: Fedora EPEL
Classification: Fedora
Component: x2goserver
Version: epel7
Hardware: x86_64
OS: Linux
unspecified
high
Target Milestone: ---
Assignee: Orion Poplawski
QA Contact: Fedora Extras Quality Assurance
URL: http://bugs.x2go.org/cgi-bin/bugrepor...
Whiteboard:
Depends On:
Blocks:
TreeView+ depends on / blocked
 
Reported: 2016-08-30 20:26 UTC by bryanhoop
Modified: 2016-10-23 01:47 UTC (History)
4 users (show)

Fixed In Version: x2goserver-4.0.1.19-12.el7
Doc Type: If docs needed, set a value
Doc Text:
Clone Of:
Environment:
Last Closed: 2016-10-23 01:47:23 UTC
Type: Bug
Embargoed:


Attachments (Terms of Use)

Description bryanhoop 2016-08-30 20:26:58 UTC
Description of problem: When trying to connect to the local desktop by selecting "Connect to Local Desktop" in the x2go client connection settings, I get a "No accessible desktop found" error. I can connect to new x2go sessions perfectly.


Version-Release number of selected component (if applicable):
4.0.1.19-6

How reproducible: Every time


Steps to Reproduce:
1. Install x2goserver on server machine
2. Login as user to desktop (I'm using MATE)
3. Try to connect remotely to same user's desktop by selecting "Connect to Local Desktop" and providing the appropriate ssh credentials

Actual results: "No accessible desktop found" error in client.


Expected results: X2Go client displays local desktop


Additional info:
echo $DISPLAY: :0.0

I've tried connecting from a linux x2go client and the windows x2go client with same results, so likely not a client-specific issue.

This works fine on my fedora servers running 4.0.1.19-11 but I can't find anything in the changelog that could address the problem so likely a third-party component has changed.

Comment 1 Orion Poplawski 2016-09-21 21:36:07 UTC
You've installed and enabled x2godesktopsharing as well?  http://wiki.x2go.org/doku.php/doc:usage:desktop-sharing

Comment 2 bryanhoop 2016-09-21 21:49:24 UTC
(In reply to Orion Poplawski from comment #1)
> You've installed and enabled x2godesktopsharing as well? 
> http://wiki.x2go.org/doku.php/doc:usage:desktop-sharing

I am under the impression that x2godesktopsharing is not required when user "foo" wants to gain access to the local desktop of user "foo." x2godesktopsharing is meant for accessing "foo"'s desktop by "foo2" user.

Source: https://wiki.archlinux.org/index.php/X2Go#Desktop_Shadowing

Additionally, I am able to connect to the local desktop of my Fedora 24 servers without x2godesktopsharing installed.

I've also confirmed that user "foo" has an active desktop running locally on the server.

I can't seem to find anything related to the problem in the logs but let me know if you need additional information.

Comment 3 Orion Poplawski 2016-09-21 22:01:23 UTC
Hmm, perhaps.  I don't use the feature myself.  There should be some x2go messages in /var/log/messages that might help.

Comment 4 Orion Poplawski 2016-09-21 22:10:53 UTC
Also: "x2goclient --debug" can help

Comment 5 bryanhoop 2016-09-21 22:30:40 UTC
/var/log/messages after trying to connect to local desktop:

Sep 21 17:03:56 localhost systemd-logind: New session 1272 of user foo.
Sep 21 17:03:56 localhost systemd: Started Session 1272 of user foo.
Sep 21 17:03:56 localhost systemd: Starting Session 1272 of user foo.

...then nothing

x2goclient --debug after trying to connect to local desktop:

x2go-INFO-1> "Starting X2Go Client..."
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:513> "$HOME=/home/user"
x2go-DEBUG-../src/onmainwindow.cpp:2202> Reading 3 sessions from config file.
x2go-DEBUG-../src/sessionbutton.cpp:325> Creating QPixmap with session icon: ":/img/icons/128x128/x2gosession.png".
x2go-DEBUG-../src/sessionbutton.cpp:325> Creating QPixmap with session icon: ":/img/icons/128x128/x2gosession.png".
x2go-DEBUG-../src/sessionbutton.cpp:325> Creating QPixmap with session icon: ":/img/icons/128x128/x2gosession.png".
x2go-DEBUG-../src/onmainwindow.cpp:2682> Creating QPixmap with session icon: '":/img/icons/128x128/x2gosession.png"'.
x2go-INFO-8> "Starting connection to server: xxx.xx.xx.xxx:22"
x2go-DEBUG-../src/onmainwindow.cpp:2783> Starting new ssh connection to server:"xxx.xx.xx.xxx":"22" krbLogin: false
x2go-DEBUG-../src/sshmasterconnection.cpp:173> SshMasterConnection, host "xxx.xx.xx.xxx"port 22user "foo"useproxy falseproxyserver ""proxyport 22
x2go-DEBUG-../src/sshmasterconnection.cpp:210> Starting SSH connection without Kerberos authentication.
x2go-DEBUG-../src/sshmasterconnection.cpp:214> SshMasterConnection, instance SshMasterConnection(0x55e20650acb0)  created. 
x2go-DEBUG-../src/sshmasterconnection.cpp:450> SshMasterConnection, instance SshMasterConnection(0x55e20650acb0)  entering thread. 
x2go-DEBUG-../src/sshmasterconnection.cpp:486> libssh not initialized yet. Initializing.
x2go-DEBUG-../src/sshmasterconnection.cpp:797> cserverAuth
x2go-DEBUG-../src/sshmasterconnection.cpp:812> state: 1

x2go-DEBUG-../src/sshmasterconnection.cpp:983> Challenge authentication failed. Trying password mechanism if available.

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

x2go-DEBUG-../src/sshmasterconnection.cpp:993> Password authentication requested.

x2go-DEBUG-../src/sshmasterconnection.cpp:662> User authentication OK.
x2go-DEBUG-../src/onmainwindow.cpp:2878> SSH connection established.
x2go-DEBUG-../src/onmainwindow.cpp:3160> Continue normal X2Go session
x2go-DEBUG-../src/sshprocess.cpp:199> Executing remote command via SshProcess object 0: "export HOSTNAME && x2golistdesktops"
x2go-DEBUG-../src/sshprocess.cpp:204> this=SshProcess(0x55e20650ab40)  Running masterCon->addChannelConnection(this, ' "d84000fb-4c8d-4e20-b1d0-a035d0dcaab7" ', ' "bash -l -c 'echo "X2GODATABEGIN:d84000fb-4c8d-4e20-b1d0-a035d0dcaab7"; export PATH="/usr/local/bin:/usr/bin:/bin"; export TERM="dumb"; export HOSTNAME && x2golistdesktops; echo "X2GODATAEND:d84000fb-4" '); 
x2go-DEBUG-../src/sshmasterconnection.cpp:1312> Locking SSH channel connection MUTEX.
x2go-DEBUG-../src/sshmasterconnection.cpp:1314> Passing new channel conenction object to channelConnections.
x2go-DEBUG-../src/sshmasterconnection.cpp:1316> Unlocking SSH channel connection MUTEX.
x2go-DEBUG-../src/sshmasterconnection.cpp:1504> Creating new channel.

x2go-DEBUG-../src/sshmasterconnection.cpp:1508> New channel:0x7f5c20013c30

x2go-DEBUG-../src/sshmasterconnection.cpp:1539> Executing remote: "bash -l -c 'echo "X2GODATABEGIN:d84000fb-4c8d-4e20-b1d0-a035d0dcaab7"; export PATH="/usr/local/bin:/usr/bin:/bin"; export TERM="dumb"; export HOSTNAME && x2golistdesktops; echo "X2GODATAEND:d84000fb-4c8d-4e20-b1d0-a035d0dcaab7";'"

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

x2go-DEBUG-../src/sshmasterconnection.cpp:1611> EOF on channel 0x7f5c20013c30; SshProcess object: 0
x2go-DEBUG-../src/sshmasterconnection.cpp:1734> EOF sent.
x2go-DEBUG-../src/sshmasterconnection.cpp:1738> Channel closed.
x2go-DEBUG-../src/sshprocess.cpp:517> SSH finished: raw output (stdout): "X2GODATABEGIN:d84000fb-4c8d-4e20-b1d0-a035d0dcaab7
X2GODATAEND:d84000fb-4c8d-4e20-b1d0-a035d0dcaab7
"
x2go-DEBUG-../src/sshprocess.cpp:528> SSH finished: true - "" (0).
x2go-DEBUG-../src/onmainwindow.cpp:3549> ""

Comment 6 Orion Poplawski 2016-09-21 22:38:45 UTC
I really think you need to activate x2godesktopsharing.  Without it I get:

# x2golistdesktops
#

With it activated I get:

# x2golistdesktops
orion@:0

Comment 7 bryanhoop 2016-09-21 22:49:47 UTC
Hmmm on Fedora I get:

>x2golistdesktops                 
foo@:0
>dnf list installed | grep x2go
x2goagent.x86_64                      3.5.0.32-4.fc24              @fedora      
x2goclient.x86_64                     4.0.5.1-1.fc24               @fedora      
x2goserver.x86_64                     4.0.1.19-11.fc24             @updates 

On CentOS I get:

>x2golistdesktops                 
>yum list installed | grep x2go
x2goagent.x86_64                   3.5.0.32-3.el7                      @epel    
x2goserver.x86_64                  4.0.1.19-6.el7                      @epel    
x2goserver-xsession.x86_64         4.0.1.19-6.el7                      @epel

So there is definitely some different and unexpected behavior.

I will try installing and enabling x2godesktopsharing on CentOS tomorrow when I have local access to the running session.

Comment 8 Orion Poplawski 2016-09-21 23:01:23 UTC
Okay, x2golistdesktops expects "ss -lxu" to output the X servers with entries that match \/tmp\/.X11-unix\/X.*

This works on Fedora 24 but not on EL7.  Not sure why yet.

Comment 9 Orion Poplawski 2016-09-21 23:08:16 UTC
Looks like a bug in ss from iproute.  Looks like it is fixed in RHEL7.3 beta (probably bug #1318005 but I can't see it to be sure).  On the other had, I don't think x2golistdesktops should be using the -u option which should also fix it.

Comment 10 Tancredi-Paul Grozav 2016-10-06 12:50:47 UTC
I can confirm that x2golistdesktops works without passing the -u parameter to ss.
I changed the script /usr/bin/x2golistdesktops at line 68 from: my $lines=`ss -lxu`; to my $lines=`ss -lx`; And x2golistdesktops works fine and accessing a local desktop also works fine. Of course this is a workaround and not a solution, but it should help until the bug is fixed in ss or the x2go team updates the script.

Comment 11 Orion Poplawski 2016-10-06 15:44:25 UTC
Upstream report: http://bugs.x2go.org/cgi-bin/bugreport.cgi?bug=799

Comment 12 Fedora Update System 2016-10-07 08:49:19 UTC
x2goserver-4.0.1.19-12.el7 has been pushed to the Fedora EPEL 7 testing repository. If problems still persist, please make note of it in this bug report.
See https://fedoraproject.org/wiki/QA:Updates_Testing for
instructions on how to install test updates.
You can provide feedback for this update here: https://bodhi.fedoraproject.org/updates/FEDORA-EPEL-2016-ef7d22a52a

Comment 13 Fedora Update System 2016-10-23 01:47:23 UTC
x2goserver-4.0.1.19-12.el7 has been pushed to the Fedora EPEL 7 stable repository. If problems still persist, please make note of it in this bug report.


Note You need to log in before you can comment on or make changes to this bug.