Hi,
recently I've updated from FC24 to FC27. Since then remote X connections don't work anymore. For my environment I'm typically starting an xterm shell from another computer displaying on my workstation.
When using "gdm", remote X access is en-/disabled with the "DisallowTCP" setting in "/etc/gdm/custom.conf".
Now, there is a trap door. Xorg changed the default for remote connections a few releases ago. Old releases listened on the network unless "-nolisten tcp" was specified. Newer releases only listen on the network if "-listen tcp" is specified on the command line to start the X server.
This means that gdm either needs to add "-nolisten tcp" (old server, DisallowTCP=true) or "-listen tcp" (new server, DisallowTCP=false) to the X server command line.
This is handled by conditional compilation in gdm (depending on a HAVE_XSERVER_THAT_DEFAULTS_TO_LOCAL_ONLY define).
The setting for this define is determined in configure.ac, lines
dnl --------------------------------------------------------------------------- dnl - Check if Xorg is new enough to require '-listen tcp' (1.17) dnl ---------------------------------------------------------------------------
if $PKG_CONFIG --atleast-version=1.17 xorg-server; then AC_DEFINE([HAVE_XSERVER_THAT_DEFAULTS_TO_LOCAL_ONLY], [], [XServer disables tcp access by default]) fi
Now, my installed gdm seems to think that my Xserver doesn't default to "local only". If I set DisallowTCP to true, it adds a "-nolisten tcp" parameter to the X command line. While it shouldn't add anything in this case. If I set DisallowTCP to false it doesn't add anything to the command line (where it should add "-listen tcp").
On my system, running the test above returns correct results:
$ pkg-config --atleast-version=1.17 xorg-server ; echo $? 0 $
I've build the gdm RPM from source on my local machine, installed it, and, hey, now everything works as expected.
So I guess that the machine used to build the official packages still has an old X server installed. If that's true, could this be fixed?
regards, chris
On 11/30/2017 01:39 PM, Christian Groessler wrote:
This is handled by conditional compilation in gdm (depending on a HAVE_XSERVER_THAT_DEFAULTS_TO_LOCAL_ONLY define).
The setting for this define is determined in configure.ac, lines[...] if $PKG_CONFIG --atleast-version=1.17 xorg-server; then AC_DEFINE([HAVE_XSERVER_THAT_DEFAULTS_TO_LOCAL_ONLY], [], [XServer disables tcp access by default]) fi[...] On my system, running the test above returns correct results:
$ pkg-config --atleast-version=1.17 xorg-server ; echo $? 0 $
I've build the gdm RPM from source on my local machine, installed it, and, hey, now everything works as expected.
So I guess that the machine used to build the official packages still has an old X server installed. If that's true, could this be fixed?
Looks like gdm is missing BuildRequires: pkgconfig(xorg-server) Please report a bug for gdm in Bugzilla.
Michal
================================================================================ gdm-3.26.2.1-3.fc27 ================================================================================ Update ID: FEDORA-2017-e8628817ff Content Type: rpm Release: Fedora 27 Status: pending Type: bugfix Karma: 0 Autokarma: True [-3, 3] Request: testing Notes: Add buildrequires for X server so DisableTcp config option works : properly. Submitter: rstrode Submitted: 2017-11-30 14:31:29 Comments: bodhi - 2017-11-30 14:31:29 (karma 0) This update has been submitted for testing by rstrode.
https://bodhi.fedoraproject.org/updates/FEDORA-2017-e8628817ff
On 12/01/2017 04:44 PM, Christian Groessler wrote:
On 11/30/17 13:57, Michal Schmidt wrote:
Looks like gdm is missing BuildRequires: pkgconfig(xorg-server) Please report a bug for gdm in Bugzilla.
Can I cite your email on this bug report. What exactly will this "BuildRequires" change accomplish?
No need to file the bugreport. Ray Strode already fixed it. The added BuildRequires ensures the correct package is installed in the buildroot to make the pkg-config test in gdm's configure.ac work.
Michal
On Thu, 30 Nov 2017 13:39:16 +0100, Christian Groessler wrote:
This is handled by conditional compilation in gdm (depending on a HAVE_XSERVER_THAT_DEFAULTS_TO_LOCAL_ONLY define).
gdm ignores DisallowTCP=false on F22 https://bugzilla.redhat.com/show_bug.cgi?id=1226084
FYI I had a problem with it around those versions F-22..F-24 but it does work for me for several releases now incl. F-27.
Jan
On 11/30/17 13:58, Jan Kratochvil wrote:
On Thu, 30 Nov 2017 13:39:16 +0100, Christian Groessler wrote:
This is handled by conditional compilation in gdm (depending on a HAVE_XSERVER_THAT_DEFAULTS_TO_LOCAL_ONLY define).
gdm ignores DisallowTCP=false on F22 https://bugzilla.redhat.com/show_bug.cgi?id=1226084
FYI I had a problem with it around those versions F-22..F-24 but it does work for me for several releases now incl. F-27.
Hmm, for me it doesn't work. I had FC24 before (where it worked, but I don't remember if I had local tweaks. I found the gdm-3.18.2-2.fc23.src.rpm on my machine, maybe I did some changes to it in order to get it to work. Really don't remember.
But after upgrading from FC-24 to FC-26 it stopped working. Then I upgraded to FC-27, still not working.
regards, chris
devel@lists.stg.fedoraproject.org