X2Go Bug report logs - #872
Turn xinerama.conf file related code inside X2Go Client into legacy code (for NX agents << 3.6)

version graph

Package: x2goclient; Maintainer for x2goclient is X2Go Developers <x2go-dev@lists.x2go.org>; Source for x2goclient is src:x2goclient.

Reported by: Mike Gabriel <mike.gabriel@das-netzwerkteam.de>

Date: Fri, 15 May 2015 12:00:01 UTC

Severity: important

Found in version 4.0.4.0

Full log


🔗 View this message in rfc822 format

X-Loop: owner@bugs.x2go.org
Subject: Bug#872: Turn xinerama.conf file related code inside X2Go Client into legacy code (for NX agents << 3.6)
Reply-To: Mike Gabriel <mike.gabriel@das-netzwerkteam.de>, 872@bugs.x2go.org
Resent-From: Mike Gabriel <mike.gabriel@das-netzwerkteam.de>
Resent-To: x2go-dev@lists.x2go.org
Resent-CC: X2Go Developers <x2go-dev@lists.x2go.org>
X-Loop: owner@bugs.x2go.org
Resent-Date: Fri, 15 May 2015 12:00:01 +0000
Resent-Message-ID: <handler.872.B.14316911578328@bugs.x2go.org>
Resent-Sender: owner@bugs.x2go.org
X-X2Go-PR-Message: report 872
X-X2Go-PR-Package: x2goclient
X-X2Go-PR-Keywords: 
Received: via spool by submit@bugs.x2go.org id=B.14316911578328
          (code B); Fri, 15 May 2015 12:00:01 +0000
Received: (at submit) by bugs.x2go.org; 15 May 2015 11:59:17 +0000
X-Spam-Checker-Version: SpamAssassin 3.3.2 (2011-06-06) on
	ymir.das-netzwerkteam.de
X-Spam-Level: 
X-Spam-Status: No, score=-1.9 required=5.0 tests=BAYES_00,URIBL_BLOCKED
	autolearn=ham version=3.3.2
Received: from freya.das-netzwerkteam.de (freya.das-netzwerkteam.de [88.198.48.199])
	by ymir.das-netzwerkteam.de (Postfix) with ESMTPS id 12EB75DA82
	for <submit@bugs.x2go.org>; Fri, 15 May 2015 13:59:14 +0200 (CEST)
Received: from grimnir.das-netzwerkteam.de (grimnir.das-netzwerkteam.de [78.46.204.98])
	by freya.das-netzwerkteam.de (Postfix) with ESMTPS id 890301F4;
	Fri, 15 May 2015 13:59:13 +0200 (CEST)
Received: from localhost (localhost [127.0.0.1])
	by grimnir.das-netzwerkteam.de (Postfix) with ESMTP id 3874E3BCF7;
	Fri, 15 May 2015 13:59:13 +0200 (CEST)
X-Virus-Scanned: Debian amavisd-new at grimnir.das-netzwerkteam.de
Received: from grimnir.das-netzwerkteam.de ([127.0.0.1])
	by localhost (grimnir.das-netzwerkteam.de [127.0.0.1]) (amavisd-new, port 10024)
	with ESMTP id lZBldvuRT6vO; Fri, 15 May 2015 13:59:13 +0200 (CEST)
Received: from grimnir.das-netzwerkteam.de (localhost [127.0.0.1])
	by grimnir.das-netzwerkteam.de (Postfix) with ESMTPS id CBEB83BA92;
	Fri, 15 May 2015 13:59:12 +0200 (CEST)
Received: from m-097.informatik.uni-kiel.de (m-097.informatik.uni-kiel.de
 [134.245.254.97]) by mail.das-netzwerkteam.de (Horde Framework) with HTTP;
 Fri, 15 May 2015 11:59:12 +0000
Date: Fri, 15 May 2015 11:59:12 +0000
Message-ID: <20150515115912.Horde.GtfqM24QvRXo7Sd2CZWsHw1@mail.das-netzwerkteam.de>
From: Mike Gabriel <mike.gabriel@das-netzwerkteam.de>
To: uli42@gmx.de, Ulrich Sibiller <ulrich.sibiller@gmail.com>,
 submit@bugs.x2go.org
Cc: x2go-dev@lists.x2go.org, o.schneyder@phoca-gmbh.de
In-Reply-To: <CANVnVYLzxmdzSLWPqzvhLbYSXYgSXiPT+=XD73RnpRri2-X0iQ@mail.gmail.com>
User-Agent: Internet Messaging Program (IMP) H5 (6.2.2)
Accept-Language: de,en
Organization: DAS-NETZWERKTEAM
X-Originating-IP: 134.245.254.97
X-Remote-Browser: Mozilla/5.0 (X11; Linux x86_64; rv:32.0) Gecko/20100101
 Firefox/32.0 Iceweasel/32.0
Content-Type: multipart/signed; boundary="=_kC80uDyZwpmK96GwkCbtmQ2";
 protocol="application/pgp-signature"; micalg=pgp-sha1
MIME-Version: 1.0
[Message part 1 (text/plain, inline)]
Package: x2goclient
Severity: important
Version: 4.0.4.0

Hi Uli, hi Alex,

I turn this discussion into a bug report against X2Go Client.

Short summary for Alex: Ulrich has completely revisited [2] Xinerama  
in nx-libs recently for the 3.6.x branch of nx-libs [1].

The complete Xinerama code has been rewritten and moved mainly into  
the hw/nxagent/Screen.c file, so that we can soon drop your patched  
libNX_Xinerama.so library and all that LD_LIBRARY_PATH stuff from  
x2goruncommand.

With Ulrichs work, the hacky part in X2Go Client of writing and  
continuously updating a xinerama.conf file server-side from the  
client-side becomes obsolete and should only be kepts as legacy code  
for cases where X2Go Client talks to nxagent servers << 3.6.

I'd also appreciate it if you could give feedback on the below question.

Thanks,
Mike

[1] https://github.com/ArcticaProject/nx-libs
[2] https://github.com/ArcticaProject/nx-libs/pull/23

On  Do 14 Mai 2015 23:32:03 CEST, Ulrich Sibiller wrote:

> while testing my xinerama re-implementation I noticed that x2goclient
> reports a wrong width sometimes when simply moving the window without
> changing the size. The reported size differs by one pixel  (too much
> or too little). When running x2goclient --debug you can see this:
>
> x2go-DEBUG-../src/onmainwindow.cpp:10160> "New proxy geometry: (x:
> 329, y: 214, w: 1440, h: 900"
> x2go-DEBUG-../src/onmainwindow.cpp:10160> "New proxy geometry: (x:
> 365, y: 213, w: 1440, h: 900"
> x2go-DEBUG-../src/onmainwindow.cpp:10160> "New proxy geometry: (x:
> 825, y: 190, w: 1440, h: 900"
> x2go-DEBUG-../src/sshprocess.cpp:189> executing remote command via
> SshProcess object (24): "export DISPLAY=:50;printf '\''1095 0 345
> 900\n0 0 1095 900'\'' >
> $HOME/.x2go/C-uli-50-1431636769_stDKDE_dp24/xinerama.conf"
>
> -> here the 345 should have been a 344.
>
> Interestingly my patched x2goagent (that completely ignores
> xinerama.conf) sees that value. So I conclude that x2goclient is
> manipulating the nxproxy window size by one pixel itself. Disabling
> xinerama in the session's configuration fixes the problem.
>
> That off-by-one behaviour is caused by this code in onmainwindow.cpp:
>
> void ONMainWindow::slotXineramaConfigured()
> {
>     if (resumingSession.fullscreen)
>         return;
>     if (xinSizeInc == -1)
>         xinSizeInc=1;
>     else
>         xinSizeInc=-1;
> #ifdef Q_OS_LINUX
>     lastDisplayGeometry.setWidth(lastDisplayGeometry.width()+xinSizeInc);
>     XSync(QX11Info::display(),false);
>     XResizeWindow(QX11Info::display(), proxyWinId,
>                   lastDisplayGeometry.width(),lastDisplayGeometry.height());
>     XSync(QX11Info::display(),false);
> #endif
> #ifdef Q_OS_WIN
>     QRect geom;
>     wapiWindowRect ( (HWND) proxyWinId, geom );
>     wapiMoveWindow( (HWND) proxyWinId, geom.x(), geom.y(),
> geom.width()+xinSizeInc, geom.height(),true);
>     lastDisplayGeometry=proxyWinGeometry();
> #endif
>     xineramaTimer->start(500);
> }
>
> If I set xinSizeInc to zero in all cases the off-by-one behaviour is
> completely gone. Why does xinSizeInc exist at all?


-- 

DAS-NETZWERKTEAM
mike gabriel, herweg 7, 24357 fleckeby
fon: +49 (1520) 1976 148

GnuPG Key ID 0x25771B31
mail: mike.gabriel@das-netzwerkteam.de, http://das-netzwerkteam.de

freeBusy:
https://mail.das-netzwerkteam.de/freebusy/m.gabriel%40das-netzwerkteam.de.xfb
[Message part 2 (application/pgp-signature, inline)]

Send a report that this bug log contains spam.


X2Go Developers <owner@bugs.x2go.org>. Last modified: Sat May 30 03:27:49 2020; Machine Name: ymir.das-netzwerkteam.de

X2Go Bug tracking system

Debbugs is free software and licensed under the terms of the GNU Public License version 2. The current version can be obtained from https://bugs.debian.org/debbugs-source/.

Copyright © 1999 Darren O. Benham, 1997,2003 nCipher Corporation Ltd, 1994-97 Ian Jackson, 2005-2017 Don Armstrong, and many other contributors.